吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 39496|回复: 181
收起左侧

[Android 原创] 对某航软件URL参数的解密

    [复制链接]
会飞的丑小鸭 发表于 2017-8-1 11:03
本帖最后由 会飞的丑小鸭 于 2017-8-1 12:20 编辑


一.打开这个APK 随便点击一个链接 用fiddler进行手机抓包抓到如下数据包POST http://ume1.umetrip.com/MSky_Front/api/msky/p3/query?encrypt=1 HTTP/1.1Accept-Language: zh-CN,zh;q=0.8User-Agent: Mozilla/5.0 (Linux; U; Android 5.1; zh-cn; HUAWEI TAG-CL00 Build/HUAWEITAG-CL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36Content-Type: application/octet-streamContent-Length: 722Host: ume1.umetrip.comConnection: Keep-AliveAccept-Encoding: gzipCookie: JSESSIONID=559756B55C6ACF8E0F2DBD0EC9F359AB.umeIProductServer14648; X-LB=1.8.9.443301ed z9ulGud4qXQ7+vCjrSeF9++NKAXmPvi3V0fDnJ7pJI9rtptd0I/yoQ/RkhuvSEd6d1f5dRHGphHT8HQ1V/h5JzW44dc7ppyZsQKFA6BDG1uagnWBpMwST9l0bJUqn0jcKNrposipJ8meJybOqajgdjyULaEA5SrpxlQDJkCCzL3rhL4jxj/QGmWgP5a7je+ox2CN/xyJcRWQo8xytVvz1aBYw+uGwb6+aLYvqAaj55MmTWhm5i3PLhRNEKaJYxSdxoWXWb/ovWZq+T+k3NmJnrdNfismnB2FL3ipvZKEavH2zNMnMYlARaicSMw5nC4viME07ZhpmnS+YDQa97zPKzXprWS/7tw8O+e4A6oYktvPXXIunnN0K4KrzK22yrUC8fEZO+law0MEfkbJBkFvMS18GAUn6I4tV9GGE8yNyT/u1N6d+3SCRvlZYCwlb/p0Ef0dXhzdYzdYFVw1+d0CbA/6k2pbeYtWvI3w+M0yRhMGsbtd1KYYjam6mTh7WVm6sUiUplZ9+P+LBZeGi12XYA/DIUVr07A6D3odLB5XHGwaFA4XoeKu3HrVRPAS1/DAV+M0dXO2ILkHS3cNBzXHSXE6XqaNl/TmnGm6Admj0Kwbp4BZ4qzuQtFaMFI8MeMQGgdYJmd7YKQ8q7HRfC6QfksxiP3oWgRR/tdmHqZvHeaEZrRMc9eYkWlb44hcbvUl这里我们发现这个包的参数是加密的 因为我要做的就是对这些参数解密 于是我脑海中出现一种思路 参数应该在链接附近于是打开jeb搜索encrypt=1 果然搜索到了 右键q看源码发现代码是经过混淆过的 不过没关系 这里我看到 v0 = a.f + this.d + "?encrypt=1";这样的代码 估计这个就是数据包的链接了 双击d进去 发现d的值为query 那这句代码就很清楚了把链接赋给v0,v0就是链接 图片1.png
图片2.png
图片3.png   

这里验证了我的猜想  参数应该在链接附近 于是继续跟着思路走 这里看到得到v0的值后会return  可以知道a方法的返回值就是链接 于是根据jeb的交叉引用 发现有两处会调用a方法
图片4.png
图片5.png   
发现这里是OkGo进行的网络请求发包 红色圆圈里面的a方法是我们得到的链接,后面的请求头,这里要关注的是蓝色圆圈里的内容,我猜想这里就是url的加密后返回的参数  点进a方法去看看 这里C2sBodyWrap类NEW了一个对象去给其参数赋值 那么我猜想v1里面放的就是url的参数了 往下看这里看到了MD5的字眼 这里猜想MD5digest应该就是参数加密的key
图片6.png
跟进去看看发现会调用getmessage()方法 点进去发现其在native层,调用的so是libumetriprelease.so
图片7.png
图片8.png
图片9.png
图片10.png   
通过IDA动态调试分析 这个key是先连接当前日期 然后经过md5,base64加密 然后取其奇数位 所以我猜想服务器端也生成一个这样的key,这个key值应该是和服务器的key相校验 比对key的真实性  或者是校验加密数据的完整性。继续分析发现u.a方法是打印log的b.a是log的开关
图片11.png
图片12.png
图片13.png

那么思路来了 b.a=false 改成b.a=true apktool反编译改完后重打包,签名,安装apk打开AndroidStudio看看log输出的都是什么内容

图片14.png

发现直接把url的参数吐出来了 到这里是不是就结束了呢?答案是没有 因为我的任务是找到算法key 所以到这里并不算完成任务 继续理清思路 既然能把参数吐出来 那我是不是也能把key给吐出来 说干就干 找key的位置继续分析
图片15.png
这里g是加密前的参数v0_2是返回加密后的内容 所以加密应该在j.a方法里面 继续跟进去这里a方法的arg1是加密前的内容 j.a()方法是key 那么好办注入log把这个key吐出来 发现其值为:Ume2012Trip0309
图片16.png
既然有key了 那么程序的逻辑就是根据这个key对内容进行加密了跟进去
图片17.png
发现这个位置是加密算法第一个参数是要加密的内容 第二个参数是key值 下面做了一个运算对key进行了第二次加密赋值给v1 然后根据这个key用AES算法对内容进行加密得到最终的密文,然后服务器端进行base64加密,到这里就明白了,原来刚刚得到的不是真正的key啊 既然知道了v1是真正的key,加密方式是AES 那么就可以根据这个key去解密加密的内容了这样的话 思路又来了 既然真正的key是根据上一个key去做了一个算法 那么我就可以把它的算法抠出来 自己写一个Demo获取真正的key值 然后根据这个key值调用AES解密算法 就得到了解密后的内容。下面是程序运行图:
图片18.png

19.png




结束
对教程和解密感兴趣的同学可以自己练习 如果觉得此教程对你有帮助请点击下面的免费评分谢谢 下面是附件
链接: https://pan.baidu.com/s/1o78OBXK 密码: 7mw6



















































图片14.png

点评

师傅你的系统没激活  发表于 2017-8-1 17:10

免费评分

参与人数 70吾爱币 +75 热心值 +69 收起 理由
Hed_geh0g + 1 谢谢@Thanks!
偷懒的浮生 + 1 + 1 值得学习,加油
Hy6ran + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yjn866y + 1 + 1 我很赞同!
WFi + 1 + 1 热心回复!
_达圣 + 1 + 1 666原来黑客是这样干活的
查理大弟 + 1 + 1 热心回复!
594yxg + 1 + 1 热心回复!
这是追求不是梦 + 1 + 1 我很赞同!
zhczf + 1 + 1 我很赞同!
wenfeiyuwen + 1 + 1 用心讨论,共获提升!
freexta + 1 + 1 用心讨论,共获提升!
飘荡的心 + 1 + 1 谢谢@Thanks!
alienhh + 1 + 1 谢谢@Thanks!
letgone + 1 + 1 用心讨论,共获提升!
向码农致敬 + 1 + 1 虽然看不懂 但还是顶一下
searchjack + 1 + 1 我很赞同!
喵喵爱吃鱼 + 1 + 1 我很赞同!
翠花叔叔 + 1 + 1 我很赞同!
以朋 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
、君上随心 + 1 + 1 谢谢@Thanks!
myloveperonjj + 1 + 1 用心讨论,共获提升!
qwqwqwqq + 2 + 1 谢谢@Thanks!
ylxc225 + 1 + 1 谢谢@Thanks!
hkhkhk01 + 1 + 1 热心回复!
lonely_coder + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ljwcsdn + 1 + 1 我很赞同!
coolu + 1 + 1 我很赞同!
青春的西瓜 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
Dfeng + 1 + 1 用心讨论,共获提升!
key2563 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pjsqwerty + 1 用心讨论,共获提升!
swest + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
qwe159 + 1 谢谢@Thanks!
若零 + 1 + 1 用心讨论,共获提升!
fantasynic + 1 + 1 用心讨论,共获提升!
小范 + 3 + 1 我很赞同!
lzs233 + 1 + 1 用心讨论,共获提升!
小菜戏大神 + 1 + 1 谢谢@Thanks!
bao1024 + 1 + 1 我很赞同!
jacky520510 + 2 + 1 我很赞同!
gxlffly + 1 + 1 我很赞同!
xaoxao + 1 已答复!
VE-Sky + 1 + 1 用心讨论,共获提升!
默之 + 1 + 1 谢谢@Thanks!
旁观者迷 + 1 + 1 用心讨论,共获提升!
PIUPIU + 1 + 1 谢谢@Thanks!
gspl-xin + 1 + 1 二师兄视力好,你的系统就是没激活.........
xuyun + 1 + 1 谢谢@Thanks!
iceplumblossom + 1 + 1 用心讨论,共获提升!
suifengdang666 + 1 + 1 用心讨论,共获提升!
SomnusXZY + 1 + 1 热心回复!
adq_cq + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
罗家力 + 1 + 1 谢谢你
chenjingyes + 1 + 1 谢谢@Thanks!
叶落花无泪 + 1 + 1 热心回复!
wmsuper + 2 + 1 我很赞同!
suadzh + 1 + 1 哈哈哈 系统没激活那个太好笑了
耀耀切克闹 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
2864095098 + 1 + 1 热心回复!
海底总动员 + 1 我很赞同!
as1329 + 1 + 1 谢谢@Thanks!
gxhayxj + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
夏雨微凉 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
realdawei + 1 + 1 我很赞同!
无名侠 + 6 鼓励转贴优秀软件安全工具和文档!
B1aN + 1 + 1 谢谢@Thanks!
流年回忆 + 1 + 1 用心讨论,共获提升!
ahmeijian + 1 + 1 谢谢@Thanks!
策士 + 1 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qtfreet00 发表于 2017-8-1 16:36
新人第一帖加精鼓励下
gxlffly 发表于 2017-8-2 23:52
牛,我刚接触安卓的逆向....
以前都是搞PC网页的javascript算法..
不知搞app里面的会不会很难.看这情况要用到好多工具啊.
jacky520510 发表于 2017-8-3 09:54
979981948 发表于 2017-8-1 11:27
大牛啊   666
 楼主| 会飞的丑小鸭 发表于 2017-8-1 11:38

看完了?
davidyxwj 发表于 2017-8-1 12:12
利害了我的哥,感谢楼主分享
ahmeijian 发表于 2017-8-1 12:13
谢谢楼主分享
 楼主| 会飞的丑小鸭 发表于 2017-8-1 12:23
好了 终于把排版问题给解决了 现在阅读起来应该很顺畅了
jsang 发表于 2017-8-1 12:28
厉害!这也能分析出来
13551494196 发表于 2017-8-1 12:30
厉害了,666
头像被屏蔽
lialu2009 发表于 2017-8-1 12:55
厉害!
大牛啊
meeking 发表于 2017-8-1 13:11
谢谢分享,学习了!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 13:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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