小七烤地瓜 发表于 2019-10-21 22:03

汽车报价大全app sign解密过程

首先抓包包体如下:
POSThttp://msn.api.app.yiche.com/api.ashx HTTP/1.1
dvtype: android
cha: c34
Connection: keep-alive
dvid: 865166021610251
Accept-Encoding: gzip
av: 9.9.8
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; redmi note 3 Build/LMY47I)
Host: msn.api.app.yiche.com
Content-Length: 494

method=user.vcode&phoneno=vBBSH4w3rMKrMxOTR5GwLKWH%2FWRP3PQWNRPQwYmJDyL%2BvPMVjxbNeP%2Fkb0aPLhqV20yda0qiS%2FMw%0AsqSJJssfJEu7xlXjOT8fzdwIsjHjLwx5kEY3fCx3e9g1UPi%2FzLq%2B5SdFf65ql4ADOgaPQaOWnhRz%0AL8kw5BpRenlVZquP6xM%3D%0A&udid=jFr7FcoaEyUpoLwNG6wkpQrOfJPxfYfRRasAwr%2Fteho4HG%2BgbEaovKzXM6WKX%2FNnrlvVINV569t6%0At5HuRBz4gDOA7rcNBm0NT59md1ST2YiqpbHnt0oe3V6IFJXElXxWSVpIf2OqNwDlz7H1ijdunqBy%0A8zjBWPcDlSIBNJJm%2BKE%3D%0A&type=4&IMEI=865166021610251&ver=9.9.8&sign=8e9d54737f45d6c331da0db7d918ba25

sign就是我们要找的加密至于user跟pass应该是RSA加密 稍后看吧
装上apk打开Jeb 反编译查找sign但是 并没有找到我们想要的东西都不是那怎么办? 换个字符串在搜呗 比如phoneno定位到一下地方


很明显手机号是个RSA加密双击进入 encrypt函数到达:

很干净 就一个RSA加密Class那么 手机号加密就是RSA了 但是 里面并没有发现我们要的sign加密怎么办呢返回上一层我们会发现:

在RSA加密的上方我们发现了一个Get_SignUrl的方法并且传递进去了一个网址正是我们抓包Post提交的网址那么 我们当然必须进去瞅瞅啊于是我们又来到这里:

假装没有看到上面那个md5加密 emmmmm   继续跟进getUrl方法

发现就在它下面这个方法就是浏览一下发现

代码为:
public static String getUrl(String arg9, LinkedHashMap arg10, boolean arg11) {
if(TextUtils.isEmpty(((CharSequence)arg9))) {
return null;
}

arg9 = arg9.trim();
String v0 = "?";
int v1 = arg9.indexOf(v0);
if(v1 != -1) {
v0 = arg9.substring(v1, arg9.length());
arg9 = arg9.substring(0, v1);
}

if(arg10 != null && !arg10.isEmpty()) {
String v2 = "&";
if(v0 != null && v0.length() > 1) {
v0 = v0 + v2;
}

v4 = new StringBuilder();
Iterator v5 = arg10.keySet().iterator();
while(v5.hasNext()) {
Object v6 = v5.next();
Object v7 = arg10.get(v6);
if(TextUtils.isEmpty(((CharSequence)v7))) {
continue;
}

v4.append((((String)v6)) + "=");
v4.append(ToolBox.URLEncode(((String)v7)));
if(!v5.hasNext()) {
continue;
}

v4.append(v2);
}

v0 = v0 + v4.toString();
if(!v0.endsWith(v2)) {
goto label_61;
}

v0 = v0.substring(0, v0.length() - 1);
}

label_61:
if(arg11) {
v10 = new StringBuilder();
v10.append(v0);
v10.append("2CB3147B-D93C-964B-47AE-EEE448C84E3C");
String v10_1 = MD5.getMD5(v10.toString());
return arg9 + v0 + "&sign=" + v10_1;
}

return arg9 + v0;
}
注意这段return arg9 + v0 + "&sign=" + v10_1;
在这个方法的最后 return了这么一句   sign=v10      v10=MD5.getMD5(v10.toString());

经过了一个md5方法双击进去

一个md5加密Class   并且 作者很漂亮的为我们在下面写了一个main函数 emmmm真贴心.......
找到这里 那么有这么几中方法
1.下段动态调试
2.下钩子   Hookmd5这个方法
3.添加Log日志重新编译apk把明文打印出来(不建议使用此方法,因为apk如果有签名 你就重打包不成功了 在我来说比较鸡肋,当然仅在此时此刻 )
4.找到写这个apk的作者 舔着B脸去要!!!
我选择第四个方法!!!!

1.动态调试



明文数据 :
?appid=17&bjloginsource=0&cityId=0&method=userlogin.baalogin&password=su%2FvMDtaFYDCU2DSMAoHO3PKEpz8dx0IPWz0M7BmaMsuDKlS2qjkPMrhao5x2c6HVoew%2BjZc%2Fp69%0AEZelq5dJ28tatl8c9hVfXUQzQ652bT3RFkk1NBoEiZ%2BYhH46upXOA8ElSKbF5hf7s2qP01uFgkcR%0AbYFzuotE4X2FyxfM%2Fkc%3D%0A&phoneno=15845454545&sourceName=%E6%98%93%E8%BD%A6%E8%B4%A6%E5%8F%B7%E7%99%BB%E5%BD%95&username=AGlr21gXWkgaKQgaqe3IygqLnSibpWLKmN34Dd6xh2dYgBYvfC%2Bgi0Yz7Eo3bJJ3IenOIGfm6L8I%0AwGXZMlu14nkzK8uUh2rGJdoHwT%2BIs5uzJ%2Ff%2F3AUv7oi%2BZP0IKQWW8MHtuK7VOTruHgP98HHeOMNm%0AQyE8mu2zw4N0GXlsbag%3D%0A&ver=9.9.82CB3147B-D93C-964B-47AE-EEE448C84E3C
Hook结果:

明文:?method=user.vcode&phoneno=MoJ%2FX%2F2ygc7O1R51R2ePAj9SzoBTxTttgaGEOVPk9ghvBpiNF6KgtZeNuEewxr2ijdSIT0ORpIud%0A4C3cpNh%2Fe1pmvMg2Uall2tQsSJ84Ja%2BLkm%2F%2BeK75HjCdlv2eoT0tkMfqh5z0qdLBBpsTHYAzWG2E%0AN%2BKboYTJe2ZB7Jer0qQ%3D%0A&udid=lXIhBEprZzv2T3BTr9CQNO5TUdVkbFAnPB7M0jEzQvy2rDNorI8FZfJiRkowkN%2FGsxj0wgleMGRy%0AsMfJRZs5LEwZ1pCcx3iOSALO4uiw4oUwF9RL0lnBD6ujNcPcnd5w9ysbAyuyNgQR6SvxUP5GnRmn%0AtbXxr8klFgdbsYRluvM%3D%0A&type=4&IMEI=865166021610251&ver=9.9.82CB3147B-D93C-964B-47AE-EEE448C84E3C
密文数据:47d12963353c3e81f1dc1f9d1c927e6b

至于Log注入我就不写了   找到位置 插入log代码 重新打包编译就可以了

哦还有第四种方法留待你们测试吧


20191026 发表于 2019-10-27 06:52

初學者,看起來好難

luoawai 发表于 2019-11-25 13:24

好好学习一番,谢谢分享

danheizhi 发表于 2020-1-3 08:44

正在努力学习中

拿着雪糕 发表于 2022-2-4 16:37

感谢大佬分享

pVgX3 发表于 2022-2-22 12:23

感谢楼主

不苦小和尚 发表于 2022-2-22 12:24


炒鸡牛鼻,顶顶顶顶顶顶

CbsFco13 发表于 2022-2-25 00:11

帮顶一下

NQYHnsv4372 发表于 2022-2-25 01:03

谢谢分享

zwj00544 发表于 2022-2-25 01:03

[快捷回复]-学破解防逆向,知进攻懂防守!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 汽车报价大全app sign解密过程