• frida框架hook获取方法输出参数(常用于简单的so输出参数获取,快速开发)


    一.模板

    function douyinencode(data) {
        var result = {};
        Java.perform(function () {
            try {
                var Test = Java.use("类名");
                result = Test.方法名(入参);
                result = {"code": 0, "value":result};
            } catch (e) {
                result = {"code": 1, "value": e.toString()};
            }
        });
        return result
    };
    

    二.结合flask

    from flask import Flask,jsonify,request
    
    import frida
    
    app =Flask(__name__)
    
    
    js ='''function Fun(args){
        Java.perform(function () {
            var result;
            var Test = Java.use("类名");  
            result = Test.方法名(args);  //入参
            result = {"code": 0, "value": result};
        });
        return result
        
    }'''
    def show(message,data):
        print(message)
    rdev = frida.get_remote_device()
    session = rdev.attach("com.lianjia.beike")  #app包名
    script = session.create_script(js)
    script.on("message",show)
    # 加载脚本
    script.load()
    
    @app.route("/test")
    def index():
        args = request.args['args']
        res = script.exports.Fun(args)  #script.exports.js文件方法名,入参
        return res
    
    if __name__ == '__main__':
        app.run()
    
  • 相关阅读:
    2、Azure Devops之Azure Boards使用
    1、Azure Devops之什么是Azure DevOps
    MongoDB学习笔记
    首页面作成(二)
    首页面作成(一)
    统计报表的作成(一)
    外派人员责任险项目作成总结
    Hibernate对象的状态
    Javaweb权限管理设计思路
    Ajax详解
  • 原文地址:https://www.cnblogs.com/pythonywy/p/13598233.html
Copyright © 2020-2023  润新知