前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IDA动态调试破解登录验证——阿里安全赛案例

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

作者头像
axiomxs
发布2021-11-26 13:15:26
1K0
发布2021-11-26 13:15:26
举报
文章被收录于专栏:曦 月曦 月

准备工具:Androidkiller,jadx-gui,IDA

实验目的:通过阿里安全挑战题,熟悉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

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://cloud.tencent.com/developer/article/1906747

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工具:Androidkiller,jadx-gui,IDA
  • 实验目的:通过阿里安全挑战题,熟悉IDA动态调试的操作和原理
  • (1)我们打开案例APK,如图所示
  • (2)我们考虑采取何种动态调试方式,主要是看需要分析的代码是否在native层,如果不在,我们则采用比较简便的AS进行调试,否则就只能用IDA调试了
  • (3)IDA动态普通调试(一般我们在使用IDA动态调试的时候,往往是IDA动态调试,静态分析双IDA同时进行)
  • (2)问题解决
  • 案例:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档