能力值:
( LV15,RANK:3306 )
|
-
-
2 楼
iv=key 12345678 nkgg8686 nkgg6666
|
能力值:
( LV1,RANK:10 )
|
-
-
3 楼
风间仁能上传脱壳的app吗,验证失败
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
|
能力值:
( LV1,RANK:10 )
|
-
-
5 楼
完整的APP没有吗? D-t
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
cyril'98 iv和秘钥都是。DES/CBC/PKCS5Padding
|
能力值:
( LV1,RANK:10 )
|
-
-
7 楼
谁放个脱完壳的APP,本贴就结束了。
|
能力值:
( LV4,RANK:55 )
|
-
-
8 楼
package com.guugoo.jiapeiteacher.util;
import com.google.gson.JsonObject;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class EncryptUtils {
private static char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".toCharArray();
private static byte[] codes = new byte[256];
public static JsonObject encryptDES(String str) {
JsonObject jsonObject = new JsonObject();
try {
Cipher instance = Cipher.getInstance("DES/CBC/PKCS5Padding");
instance.init(1, SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec("nkgg8686".getBytes("UTF-8"))), new IvParameterSpec("nkgg8686".getBytes()));
jsonObject.addProperty("Parameter", new String(encode(instance.doFinal(str.getBytes("UTF-8")))));
} catch (Exception e) {
e.printStackTrace();
}
return jsonObject;
}
public static String decryptDES(String str) {
try {
IvParameterSpec ivParameterSpec = new IvParameterSpec("nkgg8686".getBytes());
SecretKeySpec secretKeySpec = new SecretKeySpec("nkgg8686".getBytes(), "DES");
Cipher instance = Cipher.getInstance("DES/CBC/PKCS5Padding");
instance.init(2, secretKeySpec, ivParameterSpec);
return new String(instance.doFinal(decode(str.toCharArray())));
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
public static String decryptDES3(String str) {
try {
IvParameterSpec ivParameterSpec = new IvParameterSpec("nkgg6666".getBytes());
SecretKeySpec secretKeySpec = new SecretKeySpec("nkgg6666".getBytes(), "DES");
Cipher instance = Cipher.getInstance("DES/CBC/PKCS5Padding");
instance.init(2, secretKeySpec, ivParameterSpec);
return new String(instance.doFinal(decode(str.toCharArray())));
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
public static String decryptDE1(String str) {
try {
IvParameterSpec ivParameterSpec = new IvParameterSpec("12345678".getBytes());
SecretKeySpec secretKeySpec = new SecretKeySpec("12345678".getBytes(), "DES");
Cipher instance = Cipher.getInstance("DES/CBC/PKCS5Padding");
instance.init(2, secretKeySpec, ivParameterSpec);
return new String(instance.doFinal(decode(str.toCharArray())));
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
public static char[] encode(byte[] bArr) {
boolean z;
char[] cArr = new char[(((bArr.length + 2) / 3) * 4)];
int i = 0;
int i2 = 0;
while (i < bArr.length) {
int i3 = (bArr[i] & 255) << 8;
int i4 = i + 1;
boolean z2 = true;
if (i4 < bArr.length) {
i3 |= bArr[i4] & 255;
z = true;
} else {
z = false;
}
int i5 = i3 << 8;
int i6 = i + 2;
if (i6 < bArr.length) {
i5 |= bArr[i6] & 255;
} else {
z2 = false;
}
int i7 = 64;
cArr[i2 + 3] = alphabet[z2 ? i5 & 63 : 64];
int i8 = i5 >> 6;
int i9 = i2 + 2;
char[] cArr2 = alphabet;
if (z) {
i7 = i8 & 63;
}
cArr[i9] = cArr2[i7];
int i10 = i8 >> 6;
char[] cArr3 = alphabet;
cArr[i2 + 1] = cArr3[i10 & 63];
cArr[i2 + 0] = cArr3[(i10 >> 6) & 63];
i += 3;
i2 += 4;
}
return cArr;
}
public static byte[] decode(char[] cArr) {
int length = ((cArr.length + 3) / 4) * 3;
if (cArr.length > 0 && cArr[cArr.length - 1] == '=') {
length--;
}
if (cArr.length > 1 && cArr[cArr.length - 2] == '=') {
length--;
}
byte[] bArr = new byte[length];
int i = 0;
int i2 = 0;
int i3 = 0;
for (char c : cArr) {
byte b = codes[c & 255];
if (b >= 0) {
i3 += 6;
i2 = (i2 << 6) | b;
if (i3 >= 8) {
i3 -= 8;
bArr[i] = (byte) ((i2 >> i3) & 255);
i++;
}
}
}
if (i == bArr.length) {
return bArr;
}
throw new Error("miscalculated data length!");
}
static {
for (int i = 0; i < 256; i++) {
codes[i] = -1;
}
for (int i2 = 65; i2 <= 90; i2++) {
codes[i2] = (byte) (i2 - 65);
}
for (int i3 = 97; i3 <= 122; i3++) {
codes[i3] = (byte) ((i3 + 26) - 97);
}
for (int i4 = 48; i4 <= 57; i4++) {
codes[i4] = (byte) ((i4 + 52) - 48);
}
byte[] bArr = codes;
bArr[43] = 62;
bArr[47] = 63;
}
}
|
能力值:
( LV1,RANK:10 )
|
-
-
9 楼
4楼发的DEX能否重新签名打包APP,俺小白一个
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
mb_mezxqhjq
谁放个脱完壳的APP,本贴就结束了。
你还想脱壳修复打包app 啊 这是vmp的 你100 谁给你修复
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
楼主太不实在了
壳也脱了 密钥评论里面也发了 你现在还想要修复打包 你是不是在玩各位么
当然我不是为了你这悬赏 我纯属无聊 帮你看下 帮你dump了一下壳
最后于 2022-2-25 16:08
被D-t编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
D-t
楼主太不实在了 壳也脱了 密钥评论里面也发了 你现在还想要修复打包 你是不是在玩各位么 当然我不是为了你这悬赏 我纯属无聊 帮你看下 帮你dump了一下壳
淡定。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
|
能力值:
( LV1,RANK:10 )
|
-
-
14 楼
这个费用给你呢,修复打包再给费用,别急嘛。
|
能力值:
( LV4,RANK:55 )
|
-
-
15 楼
mb_mezxqhjq
这个费用给你呢,修复打包再给费用,别急嘛。
还修复?- - onCreate都native了 so vmp了 你这个价格真是让大家见笑了
|
能力值:
( LV1,RANK:10 )
|
-
-
16 楼
问题解决,麻烦版主删贴,谢谢。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
不是能过签嘛
|
|
|