首页
社区
课程
招聘
[原创]android crakeme 分析
发表于: 2020-3-7 09:54 2314

[原创]android crakeme 分析

2020-3-7 09:54
2314

实验环境: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.


[课程]Android-CTF解题方法汇总!

最后于 2020-3-7 16:35 被lxs_g编辑 ,原因:
上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2484
活跃值: (3072)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
样本?
2020-3-7 09:57
0
雪    币: 230
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
奥 忘了 补上
2020-3-7 16:34
0
游客
登录 | 注册 方可回帖
返回
//