-
-
[原创]脱壳成长之路(1)一款很老的2代壳脱壳经历
-
发表于:
2019-9-19 23:31
9028
-
[原创]脱壳成长之路(1)一款很老的2代壳脱壳经历
这是一款很老的壳了(4.4直接用hook opt的dexdump无法dump出。),花了不短的时间,终于搞定了,今天记录一下流程。
先反编译,发现smali中的方法体都是Nop了。继续看Java代码,找到很可疑加载dex的地方
OK,下面进入native层找答案
先过一下反调试,反调试代码在initarray
相关资料
loadLibrary的流程
调试init和init_array技巧(这个壳是在init_array初始化反调试的)
反调试在gnu_..._11中,通过bsdsignal反调试的
代码中是判断常量为-1的时候,直接bsd了,我改的方法是,直接改成比较-2.然后重新覆盖so,由于我的系统刷的是没有安装签名校验的。
另一个点是检测data/local/tmp下面是否有android_server 由于我名字之前就改掉了,后面调试的时候才知道有这个。
经过漫长的调试,最终定位关键代码
interface4函数
由于接下来的so是动态加载的,所以不能实时保存日志,所以强烈建议写一个ida脚本动态保存日志,方便我们继续分析
这个是我写的,idapython脚本,有用但是很丑,凑合着用,根本就是根据起始地址和结束地址,然后把中间的日志和地址对应,保存起来。
又是漫长的调试,进入下一个关键地方
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2020-2-28 09:05
被GitRoy编辑
,原因: