Frida举行Android中So文件的dump

打印 上一主题 下一主题

主题 1000|帖子 1000|积分 3000

安卓逆向中,有的so文件加壳了,需要so文件加载到内存中之后举行dump,之后才能正常看到so文件中的代码,而android_dlopen_ext则是动态加载so文件的,那么我们可以等so文件加载到内存中之后,获取内存中so文件的加载基址,大小,之后举行dump,代码如下:
其中soName是我们要举行dump的so文件名称
file_path是文件路径,其中com***是应用包名
文件执行的命令为:frida -U -f com.*** -l android_dlopen_ext.js
com.***则是要注入的包名
  1. function my_hook_dlopen(soName) {
  2.     Interceptor.attach(Module.findExportByName(null, "android_dlopen_ext"),
  3.         {
  4.             onEnter: function (args) {
  5.                 var pathptr = args[0];
  6.                 if (pathptr !== undefined && pathptr != null) {
  7.                     var path = ptr(pathptr).readCString();
  8.                     if (path.indexOf(soName) >= 0) {
  9.                         this.is_can_hook = true;
  10.                     }
  11.                 }
  12.             },
  13.             onLeave: function (retval) {
  14.                 if (this.is_can_hook) {
  15.                     dump_so(soName);
  16.                 }
  17.             }
  18.         }
  19.     );
  20. }
  21. function dump_so(so_name) {
  22.     var libso = Process.getModuleByName(so_name);
  23.     console.log("[name]:", libso.name);
  24.     console.log("[base]:", libso.base);
  25.     console.log("[size]:", ptr(libso.size));
  26.     console.log("[path]:", libso.path);
  27.     var file_path = "/data/data/com.****/" + libso.name + "_" + libso.base + "_" + ptr(libso.size) + "android_dlopen_ext.so";
  28.     //其中,com.***为包名
  29.     var file_handle = new File(file_path, "wb");
  30.     if (file_handle && file_handle != null) {
  31.         Memory.protect(ptr(libso.base), libso.size, 'rwx');
  32.         var libso_buffer = ptr(libso.base).readByteArray(libso.size);
  33.         file_handle.write(libso_buffer);
  34.         file_handle.flush();
  35.         file_handle.close();
  36.         console.log("[dump]:", file_path);
  37.     }
  38. }
  39. setImmediate(my_hook_dlopen("libcovault-appsec.so"));//libcovault-appsec.so为要进行内存dump的so文件名称
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表