使用Frida hook 获取native层代码的返回值
一定要注意环境,最高版本的python解释器可能会引起进程崩溃,无法挂载
使用的环境:wim10 ,python3.6, frida-server-14.1.3-android-x86,雷电模拟器
在电脑上安装firde
- 使用命令pip install firda==14.1.3 进行安装
- 使用命令pip install frida-tools==9.0.0 进行安装(防止后面测试firda出现 firda-ps不是内部或外部命令)
下载frida-server
- 根据使用的设备(手机或模拟器)去下载对应的frida-server(https://github.com/frida/frida/releases)
我是用的是雷电模拟器,使用的是frida-server-14.1.3-android-x86
- 根据使用的设备(手机或模拟器)去下载对应的frida-server(https://github.com/frida/frida/releases)
将frida-server推送到设备上
- 打开设备并检测设备 adb devices
- 将frida-server推送到设备上命令adb push frida-server-14.1.3-android-x86 /data/local/tmp/frida-server
- 进入设备终端 adb shell(模拟器进入自动默认是root用户,手机需要手动切换,#代表root用户)
- 赋予权限 chmod 777 /data/local/tmp/frida-server
测试
- 在设备上执行./frida-serve
- 在pc端执行frida-ps -U 查看信息,有进程则代表配置正常
使用
1. 编写js代码
setImmediate(function () {Java.perform(function () {# 包的路径在代码的第一行, package后面的信息var utils = Java.use("包的路径.class名");# Func指你的方法名utils.Func.implementation = function () {var retval = this.Func(0);# 同指方法名, 传参数参数可以带参数, 没有可删掉console.log(retval);return retval}});
});2. 在pc端进行端口转发adb forward tcp:27042 tcp:27042
3. 在pc执行挂在命令frida -U --no-pause -f apk的包名 -l a.js正常情况:____/ _ | Frida 14.1.3 - A world-class dynamic instrumentation toolkit| (_| |> _ | Commands:/_/ |_| help -> Displays the help system. . . . object? -> Display information about 'object'. . . . exit/quit -> Exit. . . .. . . . More info at https://www.frida.re/docs/home/Spawned `xx.xx.xx`. Resuming main thread!4.在设备上进行操作,触发方法
使用Frida hook 获取native层代码的返回值相关推荐
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...
- 淘宝/天猫API接口,item_sku - 淘宝商品SKU详细信息查询,淘宝/天猫获取sku详细信息 API 返回值说明
欢迎使用淘宝API接口(item_sku - 淘宝商品SKU详细信息查询 ) 你好! 这是你使用我们的淘宝API接口获取商品详细接口说明. 测试地址:获取Key和secret 测试结果: Reques ...
- 简单的说说idea方法注释模板获取不到参数和返回值类型的问题
我们以前使用Eclipse的时候,习惯性使用 /** 作为方法的快捷注释,网上有的方法获取不到参数和返回值类型,我也是找了很久,希望能帮到需要的人吧. 第一步:找到创建模板的地方(Ctrl+Shift ...
- python tkinter 弹窗_Python:tkinter-Parent获取弹出窗口的返回值
获取窗口对象的返回值是一个很常见的模型,比如程序弹出一个窗口,读取用户的输入值,这个值可以很容易的保存在弹出的窗口中,但问题在于如何将这个值传递给弹出窗口的parent.这是一个看似很simple的问 ...
- shell怎么获取上个命令的返回值
搜了好多没用,本人小白看不懂 换个思路,把返回值写个一个文件,再取出 瞬间激动 以下是测试代码,需求是一个放在git的vue项目自动打包, 如果git pull有东西就打包,没东西就不管了. 这里,一 ...
- async js 返回值_获取JavaScript异步函数的返回值
今天研究一个小问题: 怎么拿到JavaScript异步函数的返回值? 1.错误尝试 当年未入行时,我的最初尝试: function getSomething() { var r = 0; setTim ...
- Basic INFO: InstallShield中如何获取所调用Exe的返回值
这里我们假设我们通过LaunchAppAndWait去调用某个exe,该exe有返回值. 代码如下: LaunchAppAndWait ( szProgram, szCmdLine, LAAW_OPT ...
- 淘宝/天猫获取sku详细信息 API 返回值说明
item_sku-获取sku详细信息 前往测试接口 公共参数 请求地址: https://api-gw.onebound.cn/taobao/item_sku 名称 类型 必须 描述 key Stri ...
- 淘宝获取商品历史价格信息 API 返回值说明
以下是行业内了解到的一些情况,本帖只展示部分代码,可以提供:淘宝.1688.拼多多.京东.苏宁.易贝.速卖通.抖音等30多个电商平台接口,需要更多API调试请移步注册API账号 http://cons ...
最新文章
- EnterLib PIAB又一个BUG?
- python seek到指定行_python文件操作seek()偏移量,读取指正到指定位置操作
- 我所理解的Java NIO
- 另一个程序正在使用此文件 进程无法访问 iis
- bootstrapmodel确认操作框_提醒!2020国考报名确认最后一天!错过无法参加笔试
- 知道python不_为什么自学Python看不进去?
- ISP、主机之间的通信方式、电路交换和分组交换、时延
- docker-machine
- CodeForces - 932G Palindrome Partition(回文自动机+Palindrome Series优化dp)
- centos离线部署gitlab
- pg 定时删除_定时删除网站文件
- 想给视频去色并加马赛克就用它
- c语言中专业术语及其定义,c语言中常用专业英语词汇
- 三星研发的另一种解读
- 游戏必备组件_电脑必备软件~强大到~ 相识恨晚的感觉
- lex 词法分析 linux,Lex词法分析器
- Titan XP值不值?教你如何挑选深度学习GPU
- SpringMVC整合mybatis(终结版)
- 【R语言】多模型综合——CLS(GRS)加权平均法的实现
- 3、需求调研 - 产品管理系列文章