当前位置: 首页> 文旅> 美景 > 保定网站设计制作公司_互联网公司主要干什么_扬州seo博客_网络媒体推广产品

保定网站设计制作公司_互联网公司主要干什么_扬州seo博客_网络媒体推广产品

时间:2025/7/9 5:55:14来源:https://blog.csdn.net/qq_36301061/article/details/142606479 浏览次数:0次
保定网站设计制作公司_互联网公司主要干什么_扬州seo博客_网络媒体推广产品

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

内容参考于:图灵Python学院

本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:13.安卓逆向-frida基础-编写hook脚本1

接着上一个内容继续,接下来是HOOK构造方法

如下图红框,它有两个构造方法

app中调用构造方法的位置

脚本代码

function demo4(){// HOOK构造方法var money = Java.use("com.luoge.com.Money")money.$init.overload("java.lang.String","int").implementation = function(str, ii){// 重写构造方法console.log(str, ii) // 查看原本参数的值str = "飞机"// 修改参数ii = 22222// 修改参数this.$init(str,ii) // 调用原本的构造方法}}

效果图:

主动调用

效果图:

function demo5(){var res = Java.use("com.luoge.com.Money").$new("xxx",23313).getInfo()console.log("主动调用", res)
}

第二种主动调用

function demo5(){var res = Java.use("com.luoge.com.Money").$new("xxx",23313).getInfo()console.log("主动调用", res)Java.choose("com.luoge.com.Money", {onMatch:function(obj){ // 这里每找到一个Money对象就会调用一次console.log('Java.choose', obj.getInfo())},onComplete:function(){console.log('Money对象搜索完执行的代码')}})
}

HOOK字段

字段就是下图红框里的东西

HOOK静态的字段

function demo6(){var money = Java.use("com.luoge.com.Money")console.log("flag类型", JSON.stringify(money.flag));console.log("flag的值", money.flag.value);money.flag.value = "mmmm"console.log("flag修改之后的值", money.flag.value);
}

HOOK非静态的字段

function demo6(){var money = Java.use("com.luoge.com.Money")
// console.log("flag类型", JSON.stringify(money.flag));
// console.log("flag的值", money.flag.value);
// money.flag.value = "mmmm"
//  console.log("flag修改之后的值", money.flag.value);Java.choose("com.luoge.com.Money", {onMatch:function(obj){ // 这里每找到一个Money对象就会调用一次console.log('Java.choose非静态变量(字段)', obj._name.value)obj._name.value = '张飞'console.log('Java.choose修改之后非静态变量(字段)', obj._name.value)},onComplete:function(){console.log('Money对象搜索完执行的代码')}})}

HOOK内部类

下图红框的就是内部类

效果图:

function demo7(){var innerClass = Java.use("com.luoge.com.Money$innerClass")// 内部类的对象使用$符号加类名获取innerClass.$init.overload("java.lang.String","int").implementation = function(s,i){console.log('demo7s', s);console.log('demo7i', i);this.$init(s,i);console.log(this.outPrint())}
}

获取全部类和方法

function demo8(){console.log(Java.enumerateLoadedClassesSync().join('\n'))
}

获取指定类的普通方法

function demo8(){
//    console.log(Java.enumerateLoadedClassesSync().join('\n'))var utils = Java.use("com.luoge.com.Utils")var methods = utils.class.getDeclaredMethods()for(var i = 0; i < methods.length; i++){console.log(methods[i].getName());}
}

获取指定类的构造方法

function demo8(){
//    console.log(Java.enumerateLoadedClassesSync().join('\n'))console.log('普通方法')var utils = Java.use("com.luoge.com.Utils")var methods = utils.class.getDeclaredMethods()for(var i = 0; i < methods.length; i++){console.log(methods[i].getName());}console.log('构造方法')var money = Java.use("com.luoge.com.Money")methods = money.class.getDeclaredConstructors()for(var i = 0; i < methods.length; i++){console.log(methods[i].toString());console.log(methods[i].getName());}}

获取指定类的字段

获取指定类的内部类

function demo8(){
//    console.log(Java.enumerateLoadedClassesSync().join('\n'))console.log('普通方法\n')var utils = Java.use("com.luoge.com.Utils")var methods = utils.class.getDeclaredMethods()for(var i = 0; i < methods.length; i++){console.log(methods[i].getName());}console.log('构造方法\n')var money = Java.use("com.luoge.com.Money")methods = money.class.getDeclaredConstructors()for(var i = 0; i < methods.length; i++){console.log(methods[i].toString());console.log(methods[i].getName());}console.log('字段\n')var field = money.class.getDeclaredFields()for(var i = 0; i < field.length; i++){console.log(field[i].toString())console.log(field[i].getName())}console.log('内部类\n')var c = money.class.getDeclaredClasses()for(var i = 0; i < c.length; i++){console.log(c[i].toString())console.log(c[i].getName())}}

安装 @types/frida-gum 插件,可以自动补齐Frida代码


img

关键字:保定网站设计制作公司_互联网公司主要干什么_扬州seo博客_网络媒体推广产品

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: