首页 > 其他分享 >frida hook overloads

frida hook overloads

时间:2023-07-14 16:27:00浏览次数:37  
标签:overloads hook let var frida toHook check

同时hook多个重载的函数

function hookOverloads(className, func,check_index=0,check_text="",trace=false) {
  var toHook;
  Java.perform(()=>{
  toHook = Java.use(className)[func];
  var overloads = toHook.overloads;
  var overloadCount = overloads.length;
  for (var i = 0; i < overloadCount; i++) {
      toHook.overloads[i].implementation = function () {
          let check_arg=arguments[check_index]
          if(check_arg.indexOf(check_text)>-1){
            if(trace){
              printStack();
            }
            console.log("========")
            let s = ""
            let l = Array.from(arguments)
            for(let l_i=0;l_i<l.length;l_i++){
                s+="args"+[l_i]+": "+l[l_i]+", ";
            } 
            console.log(className+"."+func+" is Call: Args "+s);
            console.log("========")
          }
          var retval = this[func].apply(this, arguments);
          return retval;
      }
  }            
})
}

标签:overloads,hook,let,var,frida,toHook,check
From: https://www.cnblogs.com/c-x-a/p/17554012.html

相关文章

  • frida hook Toast
    //获得Toast组件varToast=Java.use("android.widget.Toast");varmakeText=Toast.makeText;varString=Java.use("java.lang.String");//函数重载,设置参数类型makeText.overload("android.content.Context","java.lang.Cha......
  • React中编写操作树形数据的自定义Hook
    什么是Hookhook即为钩子,是一种特殊的函数,它可以让你在函数式组件中使用一些react特性,目前在react中常用的hook有以下几类useState:用于在函数组件中定义和使用状态(state)。useEffect:用于在函数组件中处理副作用,也可以模拟react生命周期useContext:用于在函......
  • frida hook工具使用——用于os api注入分析还是不错的
    准备:pipinstallfridapipinstallfrida-tools 开始:1、创建child-gating1.pyimportosimportthreadingfromfrida_tools.applicationimportReactorimportfridaimportargparseclassApplication:def__init__(self,log_location):self.fpat......
  • 自定义hook函数
    什么是hook?——本质是一个函数,把setup函数中使用的CompositionAPI进行了封装。类似于vue2.x中的mixin。自定义hook的优势:复用代码,让setup中的逻辑更清楚易懂。 创建hook3文件夹新建usePoint.js文件(文件名以userxxx命名) app.vue<template><button@cl......
  • Vue3 的 hook函数
    Vue3的hook函数相当于vue2的mixin,不同在于hooks是函数;Vue3的hook函数可以帮助我们提高代码的复用性,让我们能在不同的组件中都利用hooks函数;其实就是代码的复用,可以用到外部的数据,生命钩子函数...,具体怎么用直接看代码,//一般都是建一个hooks文件夹,都写在里面impor......
  • csharp hook 简介
    对于csharp的hook程序,基于manage的性质,不是hook自身进程内消息,就是hook全局windows消息。一般我们hook都是nativedll将它放入第三方进程的内存空间里去。 csharp里的几种hook方式1.在win32,winform或wpf的窗口内添加消息hook,这样接受的是只在该窗口上产生的消息。2。SetWin......
  • Frida 安装
    0.当前状态Nexus5x系统为Android8.1Win11(是kvm虚拟机)1.安装(Frida12最好在<=安卓8.1的版本上用,最好别在>=安卓10上用。Frida14最好在>=安卓10的版本上用,别在<=8.1的版本上用。)pc端需要的依赖:python3,adb(google搜索androidplatformtools)pc需要安装的包(pip):frida,frida-......
  • FART脚本针对Android12 + Frida16适配
    针对@hanbinglengyue的FART项目下的Frida脱壳脚本进行最新适配,可在Frida16.1.0+Android12环境下进行脱壳项目地址:https://github.com/LLeavesG/FART-Fix具体使用方法请参见原项目FART:https://github.com/hanbinglengyue/FART对其中的frida_fart.zip中提供的两个js文件进行......
  • C/C++ HOOK 全局 API
    全局Hook不一定需要用到Dll,比如全局的鼠标钩子、键盘钩子都是不需要Dll的,但是要钩住API,就需要Dll的协助了,下面直接放上Dll的代码,注意这里使用的是MFCDLL。//Test_Dll(mfc).cpp:定义DLL的初始化例程。//#include"stdafx.h"#include"Test_Dll(mfc).h"#ifde......
  • 驱动开发:摘除InlineHook内核钩子
    在笔者上一篇文章《驱动开发:内核层InlineHook挂钩函数》中介绍了通过替换函数头部代码的方式实现Hook挂钩,对于ARK工具来说实现扫描与摘除InlineHook钩子也是最基本的功能,此类功能的实现一般可在应用层进行,而驱动层只需要保留一个读写字节的函数即可,将复杂的流程放在应用层实现是一......