首页 > 其他分享 >Hook重载方法和构造方法

Hook重载方法和构造方法

时间:2023-10-28 15:23:26浏览次数:28  
标签:function 构造方法 script res Hook 重载 frida message data

Hook重载方法和构造方法

1.1 hook重载方法

/*
adb shell
su
cd /data/local/tmp/
./frida-server-16.0.19-android-arm64 

端口转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
*/

// 搜索  setPwd(Md5

import frida
import sys

# 连接手机设备
rdev = frida.get_remote_device()

session = rdev.attach("油联合伙人")

scr = """
Java.perform(function () {

    // 包.类
    var MessageDigest = Java.use("java.security.MessageDigest");

    MessageDigest.update.overload('[B').implementation = function(data){
        var res = this.update(data);
        return res;
    }
    
    MessageDigest.update.overload('java.nio.ByteBuffer').implementation = function(data){
        var res = this.update(data);
        return res;
    }

});
"""

script = session.create_script(scr)


def on_message(message, data):
    print(message, data)


script.on("message", on_message)

script.load()
sys.stdin.read()

1.2 hook构造方法

import frida
import sys

# 连接手机设备
rdev = frida.get_remote_device()

session = rdev.attach("油联合伙人")

scr = """
Java.perform(function () {

    // 包.类
    var StringBuilder = Java.use("java.lang.StringBuilder");

    StringBuilder.$init.overload('int').implementation = function(num){
        console.log(num);
        if(num==32){
            var res = this.$init(num);
        }
        return res;
    }

});
"""

script = session.create_script(scr)


def on_message(message, data):
    print(message, data)


script.on("message", on_message)

script.load()
sys.stdin.read()

标签:function,构造方法,script,res,Hook,重载,frida,message,data
From: https://www.cnblogs.com/hanfe1/p/17794104.html

相关文章

  • API - 几种API接口模式 - RESTful、WebSocket、GraphQL、gRPC、Webhook
    总结TODO.....当思考使用哪种API接口时,你将会面临一个重要的决策。RESTful、GraphQL、gRPC、WebSocket和Webhook是当前流行的几种API接口模式。在本文中,我们将介绍这些接口的特点、用途和比较,帮助你选择最适合你应用程序需求的接口。引言随着现代应用程序的复杂性和用户期望的......
  • 常用hook记录
    1headershook当header中包含Authorization时,则插入断点varcode=function(){varorg=window.XMLHttpRequest.prototype.setRequestHeader;window.XMLHttpRequest.prototype.setRequestHeader=function(key,value){if(key=='Authorization'){debugg......
  • 简单实现.NET Hook与事件模拟
    最近玩《星露谷物语》上瘾,本来是看着个休闲游戏,现在玩成修仙游戏了,上百个小时浑身是肝,中午午休习惯都强行给改了。虽然挺有意思,但是太肝了,入坑前请谨慎。补充一下,这个游戏应该是基于XNA/MonoGame写的。这个游戏在丧失焦点的时候会自动暂停,无法自动推进,我觉得效率太低了,为了......
  • hook array push
       letarr=[1,2,3];letproxy=newProxy(arr,{get(target,prop){if(prop==='push'){returnfunction(...args){console.log('push方法被调用了');returntarget[prop].apply(target,args);}......
  • 8.4 C++ 运算符重载
    C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存......
  • 8.4 C++ 运算符重载
    C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存......
  • 运用模板重载二维数组
    #include<iostream>#include<array>usingnamespacestd;//stack.htemplate<typenameT>classArray{public: Array(introw,intcol); T*operator[](introw);public: T*m_pT; intm_Row; intm_Col;};template<typenameT>Ar......
  • vue3 hooks使用watch监听注意事项
    当我们再vue3写了一个通用hooks的里面使用watch来执行某些操作要注意!!!一个页面只能再根路由去创建实例,也就是调用对呀hooks,如果子路由也需要使用则由根路由provide()子路由inject,如果子路由都创建实例,会造成多次执行监听例如我们由一个useSearch,来写通用搜索逻辑,在该hooks......
  • 运算符重载
    运算符重载1概述C++规定运算符重载必须针对类的对象,即重载时至少有一个参数是对象,如A、constA、A&等等。没有对象就new一个出来。C++用operator加运算符进行。对于普通运算符成员函数,this隐含参数代表第一个操作数对象。运算符可分为:不能重载:sizeof、.、.*、::、?:只能重......
  • HOOK技术(以键盘HOOK为例)
    一.回调函数介绍如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。回调函数的机制如下:定义一......