Frida检测下frida-dexdump的使用姿势

两只羊 Lv2

最近在逆向某app的时候,碰到了360加固,我这个刚入门的萌新只会frida-dexdump

image-20250515163428645

一把梭下去直接报错了

image-20250515163530965

看看加载了哪个so,发现是经典的libmsaoaidsec.so多线程反调

image-20250515164103977

直接hook clone绕过

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function nop_64(addr) {
Memory.protect(addr, 4 , 'rwx');
var w = new Arm64Writer(addr);
w.putRet();
w.flush();
w.dispose();
}

function hook_clone(soname)
{
var clone = Module.findExportByName('libc.so', 'clone');
Interceptor.attach(clone, {
onEnter: function(args) {
// args[3] 子线程的栈地址。如果这个值为 0,可能意味着没有指定栈地址
if(args[3] != 0){
var addr = args[3].add(96).readPointer()
var so_name = Process.findModuleByAddress(addr).name;
var so_base = Module.getBaseAddress(so_name);
var offset = (addr - so_base);
//console.log("===============>", so_name, addr,offset, offset.toString(16));
if(so_name.indexOf(soname) >= 0) {
console.log("===============>", so_name, addr,offset, offset.toString(16));
nop_64(addr)
}
}
},
onLeave: function(retval) {

}
});

}

setImmediate(hook_clone, "libmsaoaidsec.so")

image-20250515164337223

已经成功绕过frida检测了,那么问题来了,要怎么配合frida-dexdump的使用呢

下载一份frida-dexdump的源码,将上面的代码添加到agent.js,然后导出为rpc函数

image-20250515164520728

然后在sleep开始前调用该函数

image-20250515164715556

现在就可以成功dump到东西了

image-20250515165311357

  • 标题: Frida检测下frida-dexdump的使用姿势
  • 作者: 两只羊
  • 创建于 : 2025-05-15 16:25:13
  • 更新于 : 2025-05-15 18:49:16
  • 链接: https://twogoat.github.io/2025/05/15/Frida检测下frida-dexdump的使用姿势/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
Frida检测下frida-dexdump的使用姿势