我没用过你这个方法,我也是小白,,我觉得你可以试试frida查找你运行需要的so依赖文件,,然后把这个so文件dump出来,,按道理应该是没问题的,就算他加壳,他程序load进程序的时候肯定是解密过的,,下面是脚本文件,你试试
[JavaScript] 纯文本查看 复制代码 // TODO 可以dump 加密压缩过so的原始内存
function hookTest1() {
var base = Process.getModuleByName("base.so");
console.log("name:", base.name);
console.log("base:", base.base);
console.log("size:", ptr(base.size));
console.log("size:", base.size);
var file_path = "保存路径" + base.name + "_" + base.base + "_" + ptr(base.size) + ".so";
console.log("保存位置:",file_path)
var file_handle = new File(file_path, "wb")
if (file_handle && file_handle != null) {
Memory.protect(ptr(base.base), base.size, "rwx");
var libso_buffer = ptr(base.base).readByteArray(base.size);
file_handle.write(libso_buffer);
file_handle.flush();
file_handle.close();
console.log("[dump]:", file_path);
}
}
function jstring2Str(jstring) { //从frida_common_funs.js中copy出来
var ret;
Java.perform(function() {
var String = Java.use("java.lang.String");
ret = Java.cast(jstring, String);//jstring->String
});
return ret;
}
function main(){
hookTest1();
}
setImmediate(main); |