APK动态调试-FindPass为例
工具:
jeb-linux、adb、雷电模拟器、jadx
示例:
jarvis oj上的FindPass
步骤:
一、用模拟器打开程序,查看其功能
发现,当输入错误的时候就会提醒not right

二、用jadx打开findpass.apk

分析程序逻辑
发现我们输入的值保存在fkey上面,ekey保存的是Resource/resource.asrc/res/values/strings.xml文件中的fkey的值(Tr43Fla92Ch4n93),而后读取图片scr.jpg的前1024个字节,而后循环对ekey数组中的值进行加减操作,而后到了关键部分,fkey和进行一系列运算的ekey进行比照,假如相同flag就是flag{feky},既然找到了关键部位,就动态调试找到这个值就OK了(也有很多大佬暴力出奇迹)
三、用jeb-linux打开要调试的apk

按tab切换到伪代码(jeb3版本),找到需要下断点的地方,可以看到,equal比较的是v5和v9,而后tab键切回去,而后按ctrl+b设置断点


四、adb连接模拟器,开启软件调试

模拟器里会出现等待调试的页面

五、点击jeb的调试器->开始,会出现如下图所示页面(这一步在win10上没能实现,就转移到了linux上,有大佬知道的可以交流交流)双击进程里标示为D的进程,即可以调试了

在软件里输入1111的时候,点击keyUP就会断在断点处,这时候查看局部变量v5和v9后,将局部变量
的类型转换成string就能发现flag


说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » APK动态调试-FindPass为例
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » APK动态调试-FindPass为例