app从smali到java再到动态so调试
{:301_998:} 我也是一个小白 只是记录自己从0分析的过程 也欢迎大家跟我一起学习讨论 (我也打算跟论坛大神们一样 做一整个从0开始的逆向系列 然后从拿到apk一直分析加密以及逆向然后到一个成品的软件 也希望大家多多支持)首先拿到apk利用反编译查看smali代码 找到包名入口查看onCreate函数找到点击函数事假函数
查看一下java代码
1620235
然后点击过去查看ni的方法
这里NI是个native层的调用用了静态方法修饰
利用ida把so拖进去反编译
找到导出函数窗口查看注册方法 只找到了此jni_onload方法说明这个so只利用了动态注册直接跟进
点进去AD 也就是j__Z2ADv
这里可能是反调试
检测了pid的值是否在调试状态返回动态注册函数接着分析
好了静态分析完毕了接下来利用ida进行动态调试
附加的时候提示我端口被占用那再切换一个端口试试
接下来在jni_onload进行下段
然后勾选三项
1620262
成功在jni_onload断下来接着根据静态分析的结果在调用ad函数的地方跟进修改指令
同步hex操作窗口进行修改然后f2提交接着往下执行动态注册函数位置
由此推出
1620266
动态注册了bc这个函数然后f9直接运行下去
取消3项
计算偏移地址下段然后在手机上随意输入一个密码
再在静态ida中逐步跟进发现是个RC4的加密 再去此函数地址下段
成功断下
这里成功得出我输入的字符串信息
这里就是破解出来的密码啦
好啦分析也就到这里了 下一个帖子我打算分析一款app的协议分析 以及利用Android Studio动态调试smali代码 后面还有脱壳以及如何hook (如果有对手游方面感兴趣的朋友可以留言也可以讲讲注入 内存解密dll以及lua文件) Hmily 发表于 2019-8-2 17:42
原文是从word复制过来的?太乱了,我编辑了下,好像还缺少3个图?你检查下。
哈哈哈头一次在吾爱写帖子编辑的有点乱 原文是从word复制过来的?太乱了,我编辑了下,好像还缺少3个图?你检查下。 支持楼主分享,越详细越好{:1_893:} 学习学习 感谢分享 学习了 最近也有这方面的想法 dalao,能分析下360壳的so吗,据说有classes2和签名校验,好头疼 写的很好,慢慢学习 不错~~这个crackerme01的地址是什么? 我也去下载玩玩 学习了,东西有点多,其实最底层还是看ARM汇编怎么写的吧。
页:
[1]
2