zoukankan      html  css  js  c++  java
  • Frida(一): Frida Hook的基本代码示例

    0x01 Frida Hook的基本代码示例

    import frida, sys
    
    jscode = """
    	console.log("hook start...");
    	send("666");
    """
    
    def message(message, data):
        if message["type"] == 'send':
            print("[*] {0}".format(message['payload']))
        else:
            print(message)
    
    process = frida.get_remote_device().attach('com.dlxx.mam.jtgcgk')
    script= process.create_script(jscode)
    script.on("message", message)
    script.load()
    sys.stdin.read()
    
    

    以上代码是Frida hook基于python接口和js接口的基本代码框架:

    • 导入frida,sys模块

    • jscode:定义一个变量,用来表示要调用的js代码,可在这里面使用frida定义的js接口,如send()方法

    • def message(message,data):自定义的python函数,作用是将参数输出到控制台。函数中的两个参数是python回调接口需要的。

    • frida.get_remote_device().attach('需要hook的app包名'):获取设备并调用attach方法通过包名指定要附加的app进程。

    • script = process.create_script(jscode):根据jscode里的js代码,创建有一个对象

    • script.on("message", message)、script.load():将jscode里的js代码和自定义的message函数联系在一起,最后通过load来执行js脚本

    综上,上述代码的执行过程就是:通过frida.get_remote_device().attach('com.dlxx.mam.jtgcgk')附加上要hook的目标app -->创建一个表示自定义js代码(里面使用的frida接口函数等)的一个对象 --> 将js代码和自定义的python函数联系起来 --> 加载执行js脚本 --> 由于在之前已将自定义message函数与js联系,因此就可以在控制台看到js执行的输出结果。

    C:UsersasusDesktop>python2 demo.py
    hook start...
    [*] 666
    
  • 相关阅读:
    转ihone程序内发邮件,发短信,打开链接等
    plist 文件的读写
    转object c语法速成
    转iphone项目之间的引用。
    object c求nsstring 长度和去掉前后空格的方法
    object c runtime中类类型和消息支持检查
    转NSDictionary类使用
    设置UITableview 浮动的 header
    NSString 类型plist转为NSDictionary
    ObjectiveC Unicode 转换成中文
  • 原文地址:https://www.cnblogs.com/askta0/p/12786300.html
Copyright © 2011-2022 走看看