随风而行aa 发表于 2020-12-16 18:25

IDA动态调试破解登录验证——阿里安全赛案例

准备工具:AndroidKiller,jadx-gui,IDA
                    AliCrakme案例
                    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的分享

不苦小和尚 发表于 2020-12-17 06:51

IDA也能调试apk吗

吾爱蛋蛋 发表于 2020-12-16 23:30

钉钉考试可以破解吗

106372772 发表于 2020-12-16 23:53

可以,这得支持一下

okgjkk 发表于 2020-12-17 00:06

可以可以很强大需要学习一下

traviswen 发表于 2020-12-17 02:21

很符合现在年轻人的特质 黑到底 爽

天咗 发表于 2020-12-17 02:27

不知道这个办法 能不能实行在易验证上

yangjunyi 发表于 2020-12-17 07:20

考试可以破解吗

刀大喵 发表于 2020-12-17 08:04

这个有奖金多少

zipl1985 发表于 2020-12-17 08:10

看看,谢谢了
页: [1] 2 3 4
查看完整版本: IDA动态调试破解登录验证——阿里安全赛案例