逆向分析联通营业厅APP
APP版本号 10.4
工具
- IDA
- FRIDA
- JEB
抓包分析
抓包没有防护
查壳、脱壳
经工具查询,得知其采用的是 梆梆定制版的壳。
- Frida Hook
frida -U -f com.sinovatech.unicom.ui -l 1.js --no-pause
执行完,APP自动退出,控制台中出现
根据以下so的名字,进一步确认其采用的是 梆梆
libDexHelper.so
接下来需要做的是 绕过 梆梆的反Frida。
- 反Frida
function hook_pthread_create() {
console.log("libDexHelper.so --- " + Process.findModuleByName("libDexHelper.so").base)
Interceptor.attach(Module.findExportByName(null, "pthread_create"), {
onEnter(args) {
let func_addr = args[2]
console.log("The thread function address is " + func_addr)
// print_c_stack(this.context);
}
})
}
根据以上脚本 确定 pthread_create 的函数偏移位置
frida -U -f com.sinovatech.unicom.ui -l anti_frida.js --no-pause
- 脱壳
frida -U -f com.sinovatech.unicom.ui -l dump_dex.js --no-pause
成功脱壳!!!
只需将 /data/data/com.sinovatech.unicom.ui/files/dump_dex_com.sinovatech.unicom.ui/
目录下的dex文件 下载至电脑,将其导出即可。
反编译
将dex文件拖至jeb,将其导出即可
加密参数
- mobile
- password
经分析得知,加密函数在 RSACryptos
只需要hook其入参,即可完成!!!