dump so dump dex
旧版 # frida_dump_so ``` > frida -U packagename -l dump_so.js ____ / _ | Frida 12.4.7 - A world-class dynamic instrumentation toolkit | (_| | > _ | Commands: /_/ |_| help -> Displays the help system . . . . object? -> Display information about 'object' . . . . exit/quit -> Exit . . . . . . . . More info at http://www.frida.re/docs/home/ [LGE AOSP on HammerHead::packagename]-> dump_so("name.so") [name]: name.so [base]: 0x99adf000 [size]: 0x2d4000 [path]: /data/app/packagename-2/lib/arm/name.so [dump]: /data/user/0/packagename/files/name.so_0x99adf000_0x2d4000.so undefined [LGE AOSP on HammerHead::packagename]-> ```
function dump_so(so_name) { Java.perform(function () { var currentApplication = Java.use("android.app.ActivityThread").currentApplication(); var dir = currentApplication.getApplicationContext().getFilesDir().getPath(); var libso = Process.getModuleByName(so_name); console.log("[name]:", libso.name); console.log("[base]:", libso.base); console.log("[size]:", ptr(libso.size)); console.log("[path]:", libso.path); var file_path = dir + "/" + libso.name + "_" + libso.base + "_" + ptr(libso.size) + ".so"; var file_handle = new File(file_path, "wb"); if (file_handle && file_handle != null) { Memory.protect(ptr(libso.base), libso.size, 'rwx'); var libso_buffer = ptr(libso.base).readByteArray(libso.size); file_handle.write(libso_buffer); file_handle.flush(); file_handle.close(); console.log("[dump]:", file_path); } }); }
新版
https://github.com/lasting-yang/frida_dump
如果新版用不了可以实时旧版
浙公网安备 33010602011771号