zoukankan      html  css  js  c++  java
  • firda获取普通方法hook

    Frida获取普通方法Hook

    前置

    Frida Server

    通过adb将FridaServer push进手机,再通过adb shell修改Fs(FridaServer)权限,运行Fs
    adb push ***fsarm /data/local/tmp,别问为什么放data/local/tmp目录,问就是习惯
    adb shell
    su如果你进入就是root权限自然可以省略
    cd data/local/tmp
    chmod 777 fsarm
    ./fsarm
    如果你使用的是真机且系统版本高于安卓7应该是不会报错的,但如果是模拟器会因为安卓版本过低报一句警告,无关痛痒

    端口转发,进入虚拟环境

    adb forward tcp:27042 tcp:27042
    workon ******代指你创建的虚拟环境,如果你部署在实体环境里的就可以省略这一步

    编写JS代码

    逆向安卓app

    首先你需要的是通过JEB或者Jadx或者Ak等一系列你用的习惯的逆向工具,找到你要hook的函数所在的类名与该app的包名,例如我需要找一个在text()类的plus(int a, int b)函数,且该app名为"com.Text.app"为例

    编写JS代码

    用你用的习惯的一切IDE乃至编辑器,编写如下一段代码,我在这里假设这段代码命名为Hook.js,且保存在D盘的hook目录下,详细解释我会放在代码里

    function hookText(){
        var text = Java.use("com.Text.app.text");            //这里就是你要Hook到的包名和类名
        text.plus.implementation = function(a,b){            //注意这里的text.plus就是函数名,因为是普通方法所以就输入需要多少个参数,即a,b两个参数
            var retext = this.plus(a,b);                  //JS会通过var自动检测类型,this.plus即调用原函数,当然这里你也可以不用调用原函数,自己新写一个函数也可以的
            console.log(a,b,retext);                        //打印log内容,会反应到控制台中
            return retext;                                    //函数返回值
        }
    }
    
    function main(){                                          //主函数
        Java.perform(function(){                              //不要问没解释的东西是什么,我也不知道,就是Frida的独有语法格式
            hookText();                                        //调用上面写的方法
        });
    }
    
    setImmediate(main);                                          //这里才是函数的开始
    

    注入

    在上面的内容都完成以后,在手机端启动com.Text.app,在你装好了frida的环境下,输入
    cd /d D:hook
    frida -U com.Text.app -l Hook.js
    稍等一会注入就会完成,然后应该会显示[手机型号::com.Text.app]->这样子,然后在手机端点击会触发plus()函数的交互界面,然后在->后面就会出现log里的内容啦

  • 相关阅读:
    并发与高并发(七)-线程安全性-原子性-atomic
    并发与高并发(六)-并发模拟代码
    springboot跨域请求接口示例
    关于Java编码规范
    并发与高并发(五)-并发模拟的三个工具
    springboot整合redis简单示例
    关于码云如何检出项目
    关于自动化打包部署Jenkins的使用和配置
    针对Oracle的一系列操作
    关于Linux下Oracle安装后启动的问题
  • 原文地址:https://www.cnblogs.com/CimeLi/p/12832003.html
Copyright © 2011-2022 走看看