吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5612|回复: 90

[安卓逆向图文] 汽车报价大全app sign解密过程

  [复制链接]
小七烤地瓜 发表于 2019-10-21 22:03 | 显示全部楼层 |阅读模式

首先抓包  包体如下:
[Java] 纯文本查看 复制代码
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  定位到一下地方
1.png

很明显  手机号是个RSA加密  双击进入 encrypt函数  到达:
2.png
很干净 就一个RSA加密Class  那么 手机号加密就是RSA了 但是 里面并没有发现我们要的sign加密  怎么办呢  返回上一层我们会发现:
3.png
在RSA加密的上方我们发现了一个Get_SignUrl的方法  并且传递进去了一个网址  正是我们抓包Post提交的网址  那么 我们当然  必须进去瞅瞅啊  于是我们又来到这里:
4.png
假装没有看到上面那个md5加密 emmmmm   继续跟进getUrl方法
5.png
发现就在它下面  这个方法就是  浏览一下发现
6.png
代码为:
[Java] 纯文本查看 复制代码
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方法  双击进去
7.png
一个md5加密  Class   并且 作者很漂亮的为我们在下面写了一个main函数 emmmm  真贴心.......
找到这里 那么有这么几中方法
1.下段  动态调试
2.  下钩子   Hook  md5这个方法  
3.添加Log日志  重新编译apk  把明文打印出来(不建议使用此方法,因为apk如果有签名 你就重打包不成功了 在我来说比较鸡肋,当然仅在此时此刻 )
4.找到写这个apk的作者 舔着B脸去要!!!
我选择第四个方法!!!!

1.  动态调试

8.png


[Java] 纯文本查看 复制代码
 明文数据 :
?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结果:
9.png
[Java] 纯文本查看 复制代码
明文:?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代码 重新打包编译就可以了

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



评分

参与人数 14威望 +1 HB +34 THX +8 收起 理由
行行行行行行 + 1
WolfKing + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
消逝的过去 + 1
三月十六 + 1
逆君 + 5 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
temp + 1 + 1
dai534701 + 1
ldljlzw + 1
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
playboy + 2
晓丶玉女 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
danheizhi + 1 [快捷评语]--你将受到所有人的崇拜!
luoawai + 1 + 1 [快捷评语]--积极评分,从我做起。感谢分享!
Shark恒 + 1 + 20 + 1 [快捷评语]--你将受到所有人的崇拜!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
20191026 发表于 2019-10-27 06:52 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
luoawai 发表于 2019-11-25 13:24 | 显示全部楼层

好好学习一番,谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
danheizhi 发表于 2020-1-3 08:44 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
拿着雪糕 发表于 2022-2-4 16:37 | 显示全部楼层

感谢大佬分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
pVgX3 发表于 2022-2-22 12:23 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
不苦小和尚 发表于 2022-2-22 12:24 | 显示全部楼层


炒鸡牛鼻,顶顶顶顶顶顶
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
CbsFco13 发表于 2022-2-25 00:11 | 显示全部楼层

帮顶一下
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
NQYHnsv4372 发表于 2022-2-25 01:03 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
zwj00544 发表于 2022-2-25 01:03 | 显示全部楼层

[快捷回复]-学破解防逆向,知进攻懂防守!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表