开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 25327|回复: 0
收起左侧

[android教程] frida的高级用法

[复制链接]
发表于 2021-3-1 10:40:03 | 显示全部楼层 |阅读模式   陕西省西安市
1.use与choose的区别
Java.use()
与Java.choose()
最大的区别,就是在于前者会新建一个对象,后者会选择内存中已有的实例。
隐藏方法(定义未被调用方法)
使用Java.choose获取隐藏方法所在的类的实例,然后在调用隐藏方法,如下:
  
Java.choose ("com.roysue.demo02.MainActivity" , {
onMatch : function (instance){
console.log ("Found instance: "+instance);
//secret为隐藏方法,通过获取MainActivity的实例来调用
console.log ("Result of secret func: " + instance.secret ());
},
onComplete:function (){}
})
2. rpc的使用
rpc的脚本都需要在dhook中,导出一个脚本模板,然后编写自己的调用代码。
脚本代码为:
  
rpc.exports = {
md5Hex:function (hex){
var ret = "";
Java.perform (function () {
var MyCrypto = Java.use ("com.hookme.test.MyCrypto");
ret = MyCrypto.md5Hex (hex);
});
return ret;
},
sha1:function (args1){
var retStr = "";
Java.perform (function () {
var MyCrypto = Java.use ("com.hookme.test.MyCrypto");
var retByte = MyCrypto.sha1 (args1);
retStr = MyCrypto.Base64Decode (retByte);
});
return retStr;
}
}
模式1:配合frida-inject的使用,步骤如下:
  
下载注入程序https://github.com/frida/frida/releases,名称为frida-inject-*
从dhook中导出rpc模板,从动态调用列表的功能按钮中选择导出并保存为inject.js,
将注入程序和脚本上传至远端,执行frida-inject -n com.seclover.dhook -s inject.js
打开 http://remoteip:3000/ 即可调用rpc接口
模式2:结合frida-server的使用
  
下载注入程序https://github.com/frida/frida/releases,名称为frida-inject-*
从dhook中导出rpc模板,从动态调用列表的功能按钮中选择导出并保存为inject.js
执行脚本:frida -U -f com.seclover.dhook -l inject.js --no-pause
打开 http://remoteip:3000/ 即可调用rpc接口




您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表