[Java] 纯文本查看复制代码
?
|
const -string p0, "frida-gadget" invoke- static {p0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V |
[JavaScript] 纯文本查看复制代码
?
|
if (Java.available) { Java.perform( function () { console.log( "Hooking any Activity..." ); // 动态获取所有的 Activity 类,并 Hook 其 onCreate 方法 var Activity = Java.use( "android.app.Activity" ); Activity.onCreate.overload( "android.os.Bundle" ).implementation = function (bundle) { var activityClassName = this .getClass().getName(); // 获取当前 Activity 类名 console.log(activityClassName + " onCreate hooked!" ); // 调用原始的 onCreate 方法 this .onCreate(bundle); // 获取上下文并在主线程显示 Toast,提示当前 Activity 名称 var context = Java.use( 'android.app.ActivityThread' ).currentApplication().getApplicationContext(); Java.scheduleOnMainThread( function () { var toast = Java.use( "android.widget.Toast" ); var message = "Frida Hook成功! 通过java层调用 n当前Activity: " + activityClassName; toast.makeText(context, Java.use( "java.lang.String" ).$ new (message), 1).show(); }); }; }); } else { console.log( "Java environment not available!" ); } |
libfrida-gadget.config.so: 调用配置内容改如下
[JavaScript] 纯文本查看复制代码
?
|
{ "interaction" :{ "type" : "script" , "path" : "libjs.so" } } |
libfrida-gadget.config.so:Frida依赖库文件(可根据需要自行去下载https://github.com/frida/frida/releases ) 为了进一步方便大家参考比较,以上2种方式分别做了Demo,可自行下载对比原版改动地方! 完成以上打包,接下来就是自由发挥的时候了!hook!hook! 测试demo及工具打包下载:https://gitee.com/xdvsrs/so-injection-tool-exe/tree/master/apkdemo 有待改善优化空间:比如做手机端或者PC端一键注入打包,做魔改,自己二次编译libfrida-gadget定制个人需求功能 补充:市场上部分应用目前都带加固或者防Frida,如何过检测等等.....就靠大家自己探索了! 文献主要参考:https://frida.re/docs/gadget/ 以及部分前辈、博主文档
· 今 日 推 荐 ·
本文内容来自网络,如有侵权请联系删除
原文始发于微信公众号(逆向有你):安卓逆向 -- 非root环境下Frida完全内置apk打包方案及2种注入方式回顾
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论