题目来源于海淀区网络与信息安全管理员大赛,题目中将加密验证算法打包进.so,在程序中动态调用check。
本题目通过System.loadLibrary("native-lib")加载了libnative-lib.so文件,该文件通过jeb可以实现提取
图1题目关键代码
调试环境选择与配置
mumu模拟器x64位版本,测试后发现sprintf会导致程序崩溃
夜神模拟器x64,x32的版本经过测试后,sprintf均导致程序崩溃
雷电5模拟器测试后,sprintf导致程序崩溃,动态调试libnative-lib.so时,且无法下载libart.so
最终选用mumux32位版本可以进行调试
动态调试选用IDA+MUMUx86模拟器对动态库libnative-lib.so调试
调试环境
adb的基础配置
mumu模拟器使用的adb为adb_server.exe,这里将adb_server.exe为便于使用重新命名为adb.exe,打开一个cmd终端,adb接入模拟器中
adbconnect.0.0.1:
图2adb服务端连接
通过adb将apk包安装进安卓的模拟器
adbinstalltest.apk
通过cmd再打开一个终端,通过adbshell可以直接进入到模拟器shell中
图3adbshell连接
①网安学习成长路径思维导图
②60+网安经典常用工具包
③+SRC漏洞分析报告
④+网安攻防实战技术电子书
⑤最权威CISSP认证考试指南+题库
⑥超页CTF实战技巧手册
⑦最新网安大厂面试题合集(含答案)
⑧APP客户端安全检测指南(安卓+IOS)
应用程序的配置
在新起的cmd终端,通过动态调试模式来启动app
./adbshellamstart-D-n