anliou 发表于 2021-1-16 12:30

实战某东APP submit 过程中的 jwData 加密 并附java简单算法实现

起因:
最近seckill貌似很火,不过看分享的大多是 网页版,所以想着分析下app看能否实现,在某东app 抓包过程中发现 submitOrder 过程中有一处加密是 jwData ,现在简单的进行定位分析,




看加密格式,明显是 base64编码过后的,现在先定位下关键字





定位到拼接明文的地方,格式是 lng + "_" + lat + "_" + networkType + "_null"   之后再传入下层处理



可以看到加密算法应该就是 Des了上面一串应该是秘钥,继续进入下一层




定位到这里基本都清楚了,明文秘钥以及IV最终自己使用Java进行简单实现:

private static final String DES = "DESede";
public static final byte[] IV_BYTES = {0, 0, 0, 0, 0, 0, 0, 0};
private static final String PADDING = "DESede/CBC/PKCS5Padding";

public static byte[] encrypt(byte[] bArr, byte[] bArr2, byte[] bArr3) throws Exception {
if (bArr3 == null) {
bArr3 = IV_BYTES;
}
SecretKey generateSecret = SecretKeyFactory.getInstance(DES).generateSecret(new DESedeKeySpec(bArr2));
IvParameterSpec ivParameterSpec = new IvParameterSpec(bArr3);
Cipher instance = Cipher.getInstance(PADDING);
instance.init(1, generateSecret, ivParameterSpec);
return instance.doFinal(bArr);
}





结果是:0ZFXGMj9AdZz/7Lh5gug5gJcT8vKYzxULXnWwrYlh8Q=和 抓包得到的 jwData一致,至此,完美搞定此加密参数

首发:吾爱


tomorrow58 发表于 2021-1-16 12:40

APP也可以啦!!!!

如若沦落 发表于 2021-1-16 13:08

关键还是封包里的sign吧

xuxin19 发表于 2021-1-16 13:36

佩服楼主的分析研究

shelly1314 发表于 2021-1-16 14:22

感谢楼主分享

fuy56go 发表于 2021-1-16 16:00

不错不错,学到了{:1_918:}

吾坛菜鸟 发表于 2021-1-16 17:11

表示一脸懵逼

eastkyo 发表于 2021-1-16 17:17

学习了,学习了

weihe 发表于 2021-1-16 17:49

大佬研究下sign:lol

0fifa 发表于 2021-1-16 20:29

秒杀软件
页: [1] 2 3
查看完整版本: 实战某东APP submit 过程中的 jwData 加密 并附java简单算法实现