-
-
[原创]android crakeme 分析
-
发表于:
2020-3-7 09:54
2407
-
实验环境:Android studio自带的arm版本的模拟器
首先在android killer反编译下,查看入口函数,查看源码:
可以确定是使用了so文件,搭建so文件调试环境,首先使用IDA静态分析一下so文件,鼠标点击ida函数窗口,点击搜索,搜索关键字check,如下:
函数名形如图,说明函数名没有使用动态注册技术,直接下断点分析就可以,静态ida中确定关键函数的偏移,动态ida中确定so模块的起始地址,两者相加确定函数的绝对地址:
相加结果为:9BBF7064,G到此地址z:
f2在此地址下断点,运行程序,断到此处,分析:
在分析之前应该确定关键点在什么地方,应该在何处断下来,然后观察内存或寄存器以确定求解的值,分析需要F5此处代码,因为动态的ida中的代码不能直接F5,这里有两种解决方法。第一种,在 静态ida中F5,查看代码:
猜测函数strcmp处应该是比较注册码的地方,将鼠标停在此处,tab键转到汇编,以确定关键处的的偏移:
将此地址加上so文件基址,然后在此地址下断点;第二种,在动态ida中,选中需要转化的代码,然后在P定义,就会定义一个函数,不过这样转化的伪代码不太友好,
找到关键点,在此处下断点,F9运行到此处,查看寄存器或内存中的值,
找到密码为s15pbs.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-3-7 16:35
被lxs_g编辑
,原因: