IDA动态调试破解登录验证——阿里安全赛案例
准备工具:AndroidKiller,jadx-gui,IDAAliCrakme案例
Google nexus5手机
实验目的:通过阿里安全挑战题,熟悉IDA动态调试的操作和原理
(1)我们打开案例APK,如图所示
很显然,我们看到这样的破解登入密码,则可以考虑动态调试:AS动态调试或IDA动态调试。
(2)我们考虑采取何种动态调试方式,主要是看需要分析的代码是否在native层,如果不在,我们则采用比较简便的AS进行调试,否则就只能用IDA调试了
1)首先,我们将apk导入AndroidKiller进行分析,并快速找到程序的入口点
2)我们分析MainActivity源码,分析代码逻辑,直接用jeb
我们不难找到验证密码的函数就是securityCheck,并且在native层,则我们需要考虑用IDA动态调试了
(3)IDA动态普通调试(一般我们在使用IDA动态调试的时候,往往是IDA动态调试,静态分析双IDA同时进行)
1)IDA静态分析
我们将so文件导入IDA中进行分析,并直接找到securityCheck方法
双击进入,并按tab查看对应的c源码
我们分析代码逻辑,不难发现验证逻辑代码处,我们怀疑密码就是v6地址存放的值,双击进去查看
我们找到一串字符串,发现好像为验证的密码,是否我们这里已经完成破解,我们尝试输入密码
这里我们发现密码不正确,说明官方肯定是对这里进行了处理,所以静态分析肯定不能解决问题,接下来我们尝试动态调试
2)IDA普通动态调试
3)IDA挂起动态调试(绕开反调试策略)
(2)问题解决
可以把 BLX R7 这条指令给nop掉,也就是把这条指令变成空指令(相当于删除这条指令)这样apk就不会新建线程去执行检测代码了。
案例:
链接:https://pan.baidu.com/s/10YWUj7BDcZ-3sY0oOqczHw
提取码:cxh4
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享 IDA也能调试apk吗 钉钉考试可以破解吗 可以,这得支持一下 可以可以很强大需要学习一下 很符合现在年轻人的特质 黑到底 爽 不知道这个办法 能不能实行在易验证上 考试可以破解吗 这个有奖金多少 看看,谢谢了