android爱汽车破解密码,汽车报价大全app sign解密过程

首先抓包  包体如下:

[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  定位到一下地方

b4e9d9ceaf295eab2ecb0b832d08efce.gif

1.png (28.55 KB, 下载次数: 10)

2019-10-21 21:58 上传

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

b4e9d9ceaf295eab2ecb0b832d08efce.gif

2.png (50.57 KB, 下载次数: 7)

2019-10-21 21:58 上传

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

b4e9d9ceaf295eab2ecb0b832d08efce.gif

3.png (99.2 KB, 下载次数: 7)

2019-10-21 21:58 上传

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

b4e9d9ceaf295eab2ecb0b832d08efce.gif

4.png (11.75 KB, 下载次数: 4)

2019-10-21 21:58 上传

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

b4e9d9ceaf295eab2ecb0b832d08efce.gif

5.png (54.14 KB, 下载次数: 11)

2019-10-21 21:58 上传

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

b4e9d9ceaf295eab2ecb0b832d08efce.gif

6.png (64.04 KB, 下载次数: 9)

2019-10-21 21:58 上传

代码为:

[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方法  双击进去

b4e9d9ceaf295eab2ecb0b832d08efce.gif

7.png (64.69 KB, 下载次数: 4)

2019-10-21 21:58 上传

一个md5加密  Class   并且 作者很漂亮的为我们在下面写了一个main函数 emmmm  真贴心.......

找到这里 那么有这么几中方法

1.下段  动态调试

2.  下钩子   Hook  md5这个方法

3.添加Log日志  重新编译apk  把明文打印出来(不建议使用此方法,因为apk如果有签名 你就重打包不成功了 在我来说比较鸡肋,当然仅在此时此刻 )

4.找到写这个apk的作者 舔着B脸去要!!!

我选择第四个方法!!!!

1.  动态调试

b4e9d9ceaf295eab2ecb0b832d08efce.gif

8.png (94.04 KB, 下载次数: 4)

2019-10-21 21:58 上传

[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结果:

b4e9d9ceaf295eab2ecb0b832d08efce.gif

9.png (69.66 KB, 下载次数: 6)

2019-10-21 21:58 上传

[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代码 重新打包编译就可以了

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值