Frida的使用

本文详细介绍了Frida的安装步骤,包括Windows和Linux环境下frida-server的配置过程,以及如何通过ADB进行端口转发实现远程调试,并提供了一个简单的使用示例。
部署运行你感兴趣的模型镜像
  1. Frida的安装

    frida分服务器和客户端2部分,服务器为frida-server,根据不同平台选择不同的frida-server

    Windows下安装frida:

    安装frida的前提是配置好python环境

    首先需要下载ez_setup.py(https://bootstrap.pypa.io/ez_setup.py ) python ez_setup.py   

    添加%PYTHONDIR%\Script到PATH

    easy_install frida.egg

     

    Linux下安装frida:

    pip3 install frida

    frida –version 测试frida是否安装成功

    Frida-server的安装

  2. https://github.com/frida/frida/releases中下载对应版本的server和手机cpu型号,放在安卓下运行(查看/proc/cpuinfo信息可知道自己手机型号是arm还是x64)

 

 

 

 

Frida安装好后可以试试frida-ps -U查看当前运行的程序

 

/data/local/tmp#./Frida-server                  直接运行frida

 

Root #chmod 777 /data/local/tmp/Frida-server    赋予frida-sever运行权限,如果777被占用可任意选择其他

 

 

Adb push    Frida-server   /data/local/tmp                  将frida放到/data/local/tmp目录下

Frida的使用实例

打开powershell进行端口转发,将端口转发到PC端

  1. adb forward tcp:27042 tcp:27042
  2. adb forward tcp:27043 tcp:27043
  3. 进入/data/local/tmp目录下./frida运行frida,如果显示permission denied,使用命令su,赋予最高权限即可。

新开一个powershell,输入命令frida -R -f 包名 -l 脚本名.js

-R, --remote          connect to remote frida-server   远程连接frida-server

-f FILE, --file=FILE       spawn FILE

-l SCRIPT, --load=SCRIPT  load SCRIPT  加载script脚本

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 使用 Frida Attach 模式进行动态分析或调试 Frida 是一种强大的工具,允许开发者和安全研究人员在运行的应用程序上下文中执行 JavaScript 或 Python 脚本。Attach 模式特别适用于已经启动并正在运行的目标进程。 #### 启动目标应用并与之连接 为了使用 attach 模式,在命令行界面输入 `frida-attach` 命令后面跟上要附加的目标进程名称或 PID (进程 ID)[^1]: ```bash frida-attach <process_name_or_pid> ``` 如果希望指定脚本来加载,则可以这样做: ```bash frida-attach -l script.js <process_name_or_pid> ``` 这会告诉 Frida 将给定的 JavaScript 文件注入到选定进程中去。 #### 编写用于动态分析的脚本 编写一个简单的 JavaScript 来展示如何拦截函数调用。下面的例子展示了怎样挂钩 Android 设备上的 Java 方法: ```javascript Java.perform(function () { var MainActivity = Java.use('com.example.app.MainActivity'); // Hook the 'onCreate' method of MainActivity class. MainActivity.onCreate.implementation = function (savedInstanceState) { console.log('[*] onCreate() got called!'); this.onCreate(savedInstanceState); // Call original implementation. }; }); ``` 这段代码会在每次应用程序的主要活动被创建时打印一条消息至控制台。 对于 iOS 应用来说, 可以采用类似的策略来 hook Objective-C/C++ 的方法. #### 实现更复杂的交互逻辑 当需要实现更加复杂的功能比如修改参数值、绕过某些验证机制或是获取敏感数据的时候,可以通过调整上述例子中的 JavaScript 代码完成更多操作。例如改变传入参数或者返回不同的结果等。 需要注意的是,在实际环境中应当合法合规地运用此类技术手段,并遵循道德准则以及法律法规的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值