登录
|
立即注册
首页
Portal
每日签到
版块
BBS
逆向技术
无聊
搜索
呵呵呵呵
逆向未来技术社区
»
版块
›
移动安全
›
Android安全
›
帖子
手游-放开那三国socket协议分析
[复制链接]
12087
3
发表在
原创文章
2015-8-3 17:37:50
|
查看全部
|
阅读模式
楼主本就是一个偷懒的人,玩游戏最什么的最讨厌了还要一遍遍的刷副本,于是就有了这个破解的过程
刷副本太累,想写个脱机挂自动打副本,背景交代完毕
undefined
开始执行:
APK下载地址
http://static1.zuiyouxi.com/client/fknsg_zyx_4.2.8_gwphone_1502101503.apk
1、
http://attach.52pojie.cn/forum/201504/22/170340qoyg0xggy14ggqxc.png
这是抓包得到的数据0000 00 00 00 67 01 00 01 01 62 16 36 bd a3 96 dd 8e ...g....b.6.....
0010 58 48 c9 7f 84 c5 21 ff 0a 0b 01 0d 6d 65 74 68 XH....!.....meth
0020 6f 64 06 25 75 73 65 72 2e 67 65 74 53 77 69 74 od.%user.getSwit
0030 63 68 49 6e 66 6f 11 63 61 6c 6c 62 61 63 6b 0a chInfo.callback.
0040 0b 01 19 63 61 6c 6c 62 61 63 6b 4e 61 6d 65 06 ...callbackName.
0050 25 75 73 65 72 2e 67 65 74 53 77 69 74 63 68 49 %user.getSwitchI
0060 6e 66 6f 01 0b 74 6f 6b 65 6e 06 15 33 30 30 34 nfo..token..3004
0070 39 37 36 32 30 30 09 61 72 67 73 09 01 01 01 976200.args....
对比了几个数据包之后很明显的可以发现 最前面的67代表的是包长,而62 16 36 bd a3 96 dd 8e 58 48 c9 7f 84 c5 21 ff 就是整串数据的神秘所在了,起码完全不知道是怎么来的,也看不出来什么加密
后来数了下位数,神奇的发现是32位,而且每个包的这几位都是32位,于是我就大胆猜测这是MD5加密
2.
IDA
分析apk
http://attach.52pojie.cn/forum/201504/22/165931ydyg4oym8o4g8di8.jpg
最后定位到这个so里面 打开分析下
找到MD5加密函数所在
http://attach.52pojie.cn/forum/201504/22/165945ulldfyxjpl9xps99.jpg
http://attach.52pojie.cn/forum/201504/22/165950o71gr541r54i5u15.jpg
3.找到地址了,然后再用ida动态调试轻车熟路 配置好
http://attach.52pojie.cn/forum/201504/22/170005yd5lwnulnwwg5wmh.jpg
打开 ida 调试
http://attach.52pojie.cn/forum/201504/22/170016slizwiy04mkwieyc.jpg
再来寻找我们需要下的断点
http://attach.52pojie.cn/forum/201504/22/165708dt39dkeetsxofkak.png
计算一下:62A67000(so起始位置)+001D4ED8(方法位置)=62C3BED8
跳转
http://attach.52pojie.cn/forum/201504/22/170102fdhziugg0ii0zgun.jpg
下断点,回游戏随便干点事
成功,竟然真的断了下来
http://attach.52pojie.cn/forum/201504/22/170041dehs9leyvyjej6rl.jpg
哈哈哈
4.下一步 继续分析
http://attach.52pojie.cn/forum/201504/22/163458jxxyqsdsyzj2zx1w.png
可以看到MD5前的数据是这样的 对应的数据包
http://attach.52pojie.cn/forum/201504/22/163615ior6l4ig4u64c6aw.png
写个程序测试下是否正确(最后发现真的就是这个)这里6D个长度的数据 md5的结果就是抓包中得到的15 0a 26 7e 9a 41 dd 89 41 2a c0 bd 4f 58 fa 5c 看来定位正确,可是这个6D长度的东西又是怎么来的?????
5.回到静态分析,看下都是谁调了md5
最后定位到这个方法:PackageHandler::buildPackag
http://attach.52pojie.cn/forum/201504/22/164321awq38t8784wgi3s4.jpg
很清晰的看到了有一个 sub_5FAA90(&v26, "4bd4ace59");
肯定就是我们想要的东西了,然后看下这里到底干了点什么
结合动态调试发现关键点在这
for ( k = 0; s > k; ++k )
{
if ( s - 1 == k )
v9 = *(_BYTE *)(v19 + k) ^ s;
else
v9 = *(_BYTE *)(v19 + k) ^ *(_BYTE *)(v19 + k + 1);
sub_5FAAE0(&v26, v9);
}
这几句什么意思?无非就是a[1]^a[2] 我们再来看下
原始数据 0a 0b 01 0d xxxxxxxxx
运算后数据 01 0a 0c xxxxxxx
是不是就是0a^0b 至此大功告成
整个加密解析过程完毕
举报
使用道具
回复
精彩评论
3
吃货还怕不火。
发表于 2015-8-3 17:38:00
|
显示全部楼层
提示:
作者被禁止或删除 内容自动屏蔽
举报
使用道具
回复
支持
反对
ceshi999
发表于 2015-8-3 17:58:20
|
显示全部楼层
楼主,做好的外挂呢?
举报
使用道具
回复
支持
反对
十万个为什么
发表于 2015-8-3 20:41:32
|
显示全部楼层
牛B,IDA还不会动态调试,楼主有视频教程么
举报
使用道具
回复
支持
反对
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
huang4727603
1
主题
10
帖子
3
积分
Ta的主页
发信息
热点动态
1.
Android killer个人自制plus版
2.
Android killer 1.3.1 个人修改版
3.
Arm汇编转换器修改版
4.
跟着鬼哥学so修改,六,实例第三篇
5.
安卓逆向工具JEB3.0来了!
6.
跟着鬼哥学so修改,四,实例第一篇
7.
APK Permission Remover|APK权限修改器去签
8.
一款轻量级App查壳工具(秒查)
快速回复
返回顶部
返回列表