当前位置: 首页 > news >正文

14.安卓逆向2-frida hook技术-HookJava主动调用

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

内容参考于:图灵Python学院

工具下载:

链接:https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwd=zy89

提取码:zy89

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

上一个内容:13.安卓逆向2-frida hook技术-HookJava构造方法

调用静态方法,无参

注入之后调用指定方法

Java.perform(function () {var Utils = Java.use('com.luoge.com.Utils');var ret = Utils.getOver();console.log(ret);
})
function getJSOver() {var Utils = Java.use('com.luoge.com.Utils');var ret = Utils.getOver();console.log(ret);
}

调用静态方法,传参

Java.perform(function () {var Utils = Java.use('com.luoge.com.Utils');var ret = Utils.getOver(9998);console.log(ret);
})
function getJSOver() {var Utils = Java.use('com.luoge.com.Utils');var ret = Utils.getOver(9999);console.log(ret);
}

非静态方法(对象方法)调用,如下图,可以看到它把内存中所有 com.luoge.com.Money 的对象都找到了并且执行了getInfo方法

Java.perform(function () {var Money = Java.use('com.luoge.com.Money');/*** Java.choose是用来在内存中找一个对象的* 第一个参数是要找的对象的路径* 第二个参数是回调函数,回调函数中有三个参数,分别是obj, onMatch(找到对象后执行), onComplete(onMatch执行完后执行)* 下面代码的意思是在内存中找一个com.luoge.com.Money的对象,找到后执行onMatch方法,然后调用它的obj.getInfo()方法* */Java.choose('com.luoge.com.Money', {// obj是com.luoge.com.Money的对象,也就是this// onMatch 是找到对象后执行,也就是找到com.luoge.com.Money后执行onMatch方法onMatch: function (obj) {console.log('obj ', obj.getInfo());},onComplete:function(){// 当 onMatch 执行完后会执行 onComplete 方法console.log('执行完成');}})
})

创建类对象并修改属性调用方法

Java.perform(function () {// 获取目标类var MoneyClass = Java.use('com.luoge.com.Money');// 创建对象实例,这里假设使用无参构造函数var moneyObj = MoneyClass.$new("frdaNewName", 99999);// 获取 name 属性的引用var nameField = MoneyClass.class.getDeclaredField('name');// 如果属性是私有的,需要设置可访问nameField.setAccessible(true); // 修改 name 属性值nameField.set(moneyObj, "frdaNewName222");// 直接赋值MoneyClass.flag.value = 'frdaNewFlag';// 调用对象的方法var result = moneyObj.getInfo();// 打印结果console.log('调用 getInfo 方法的结果: ', result);
});

img

相关文章:

  • 离线部署minio以及主从复制
  • ITIL 4考试介绍
  • atcoder [ABC271D] Flip and Adjust
  • js 查看字符串字节数
  • FreeSurfer的脑区表面重建与注意力nii图结合
  • Java面试题021:一文深入了解微服务之网关Zuul
  • 缓存击穿,缓存穿透,缓存雪崩的原因和解决方案
  • 传智健康---十天项目总结
  • 挑战杯三个项目
  • 09 - TripletAttention模块
  • RAG数据集综述
  • 第六章 进阶19 琦琦的追求
  • Windows 文件复制利器:ROBOCOPY 拷贝命令指南
  • 全球域名WHOIS信息查询免费API接口教程
  • Tlias-web 管理系统项目知识点复盘总结
  • 高性能Tick级别高频交易引擎设计与实现
  • 6月13日day52打卡
  • 西电新增信息力学与感知学院,26考研正式招生
  • 【python深度学习】DAY 52 神经网络调参
  • 第三章支线八 ·构建之巅 · 工具链与打包炼金术
  • 企业对企业的网站/百度投广告怎么收费
  • 手机怎么做自己的网站/如何推销自己的产品
  • 郑州专业的网站建设公司排名/百度指数搜索热度排行
  • 1688一件代发详细步骤/seo排名点击
  • 培训网站源码wordpress/制作电商网站
  • 做视频添加字幕的网站/如何做好seo基础优化