为了更好地理解Frida dump so的原理,我们可以简单地分析一下Frida的源代码。在Frida的源代码中,dump so的实现是通过inject.js这个JavaScript脚本来完成的。具体来说,inject.js会执行以下几个步骤: 1.获取目标进程的pid 2.获取目标进程中所有的so文件名和内存地址 3.遍历每个so文件,读取它的所有节,将它们写入到一...
注意: 写so文件的时候,把文件写在/data/data/包名目录下,这个目录大概率下是可以读写的。 第三步: 把冰箱门关上 最后把dump的so用adb命令 pull出来。 如果没有pull/data/data/包名这个目录的权限,那就先copy到 /data/local/tmp 目录下面。 现在可以拖进ida愉快的分析了。 三、总结 先找共性,然后再定位。...
file_handle.close(); console.log("[dump]:", file_path); } 注意: 写so文件的时候,把文件写在/data/data/包名目录下,这个目录大概率下是可以读写的。 第三步: 把冰箱门关上 最后把dump的so用adb命令 pull出来。 如果没有pull/data/data/包名这个目录的权限,那就先copy到 /data/local/tmp 目录下面。
var libso_buffer = ptr(libxx.base).readByteArray(libxx.size); file_handle.write(libso_buffer); file_handle.flush(); file_handle.close(); console.log("[dump]:", file_path); } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 注意: 写so文件的时候,把文件写在/data/data/包名目...
dump_dex_class.js update dump_dex_class 4年前 dump_so.js add dump_so.js 5年前 README frida_dump 1. 使用dump_so > frida -U packagename -l dump_so.js ___ / _ | Frida12.4.8- A world-class dynamic instrumentation toolkit | (_| | > _ | Commands: /_/ |_|help->Displays the...
CurrentApp:手动获取当前的app包名 DumpSo:从内存dump出so文件,对应上图中待dump出的so为libaac.so PullApk:从手机中pull出apk文件 DumpDex:脱壳,原理通过内存扫描脱壳 ClassHook:Hook class类 要Hook的java类名,也可以手动输入,也可以输入多个类进行Hook,例如 ...
1.在cmd中输入:adb shell dumpsys activity | findstr “mResume”,同时手机要打开所测试的APP,并停在那个界面 你会得到这样的字符串 2、打开手机上的界面劫持APP 输入在第一步得到的字符串,点击开启监控 3.重新打开APP,就可以看到效果了 这就代表存在风险 ...
(0x2C00).readByteArray(16); //读内存 //console.log(strByte); //soAddr.add(0x2C00).writeByteArray(stringToBytes("xiaojianbang")); //写内存 //console.log(hexdump(soAddr.add(0x2C00))); //dump指定内存 //var bytes = Module.readByteArray(soAddr.add(0x2C00), 16); //console....
add dump_so.js Jun 6, 2019 View all files README frida_dump 1. 使用dump_so > frida -U packagename -l dump_so.js ___ / _ | Frida 12.4.8 - A world-class dynamic instrumentation toolkit | (_| | > _ | Commands: /_/ |_| help -> Displays the help system . . . . object...
其中public native String Encrypt()使用了.so文件中的Encrypt()函数来加密flag,我们使用IDA导入libnative-lib.so文件查看一下这个函数native层我们在函数窗口直接搜索Encrypt函数:可以看见只有一个函数,我们直接进去就可以了当时以为是一个base64加密,传入参数v5也就是上面的一些字符串进行base64加密,参数v7是base64码表...