Linux+Windows安装r2Frida环境的配置及使用方法
2022-9-2 11:54:12 Author: 哆啦安全(查看原文) 阅读量:16 收藏

0x01 Linux 安装radare2+r2frida 【推荐

Linux 系统安装,此处安装的系统为Ubuntu(我用得Ubuntu 18,不太推荐用Kali Linux,我这里使用Kali 2022版本的有些源依赖找不到或更新源容易出问题,以前版本没遇到过这种问题,大家看着来吧,如果Kali 用如下方法失败,建议用个干净点的Ubuntu系统来安装),步骤如下:

  • 安装radare2

// 需要提前安装好需要的环境sudo apt install curl
sudo apt install nodejs
sudo apt install python3
sudo apt install python3-pip
sudo apt install git
sudo apt install frida//提前配置个科学上网的代理,因为要下载github上的东西,可能会下载失败export http_proxy="http://192.168.6.23:7890"export https_proxy="http://192.168.6.23:7890"// 接着git下载代系统中运行安装sudo git clone https://github.com/radareorg/radare2radare2/sys/install.sh
或自行下载好后丢到虚拟机中并运行安装,下面是解压和安装的命令
unzip radare2-master.zip
mv radare2-master radare2
radare2/sys/install.sh

在快安装好的结尾,会提示输入密码,然后自动配置一些环境变量等配置,此时就代表已安全好了


  • 安装r2frida依赖

sudo apt-get update && sudo apt-get upgrade -y
sudo apt install -y make gcc libzip-dev nodejs npm curl pkg-config git
  • 依然优先推荐使用r2pm -ci r2frida命令自动化安装,如果失败的话再自行下载源码make install编译安装

r2pm -ci r2frida

安装成功将提示:

mkdir -p /"/home/ww/.local/share/radare2/plugins"rm -f "//home/ww/.local/share/radare2/plugins/io_frida.so"cp -f io_frida.so* /"/home/ww/.local/share/radare2/plugins"

接着运行r2 frida://?显示帮助,测试插件是否安装成功,如下:

运行r2 frida://?显示帮助,测试插件是否安装成功,如下:

  • 打开开发者选项里的USB调试

    • 设置里面,关于本机,然后狂点系统版本号,即可开启开发者模式

    • 返回设置的关于本机界面,会多一个开发者选项(有些是狂点版本号后直接跳转到开发者选项界面)

    • 点击开启USB调试开关按钮

  • 获取当前模拟器的CPU,好选择frida-server的版本

adb shell getprop ro.product.cpu.abi

AndroidCPU架构:

CPU架构描述
armeabi第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢
armeabi-v7a第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能
arm64-v8a第8代,64位,包含 Aarch32、Arch64两个执行状态对应32、64bit
x86intel32位,一般用于平板电脑
x86_64intel64位,一般用于平板电脑
mips少接触
mips64少接触
  • 在手机上运行Frida服务端:

adb push frida-server-15.2.2-android-x86  /data/local/tmp/adb shell 
su
cd /data/local/tmp/chmod 777 frida-server-15.2.2-android-x86./frida-server-15.2.2-android-x86

:有些APP会检测本地是否启动了frida-server,以及监听是否开启了27042端口。有反调试的话,可以将名字重新改成别的,fshbbx86之类的,以及更改端口,此处不介绍反检测绕过的知识,感兴趣的同学可以私下自行了解

./data/local/tmp/fshbbx86 -l 0.0.0.0:8080  (8080为自定义端口)
  • 启动frida并修改监听端口(防止部分app监测默认端口)【可选】

adb shell /data/local/tmp/frida-server-15.2.2-android-x86 -l 0.0.0.0:8080
  • 转发frida端口

adb forward tcp:27042 tcp:27042adb forward tcp:27043 tcp:27043adb forward tcp:38089 tcp:38089
  • frida-ls-devices查看USB的设备的名称或IP

frida-ls-devices

  • 对于USB调试iOS/Android应用程序,使用如下操作。需要注意,spawn 可以替换为OR,并且名称可以是应用程序名称或PID

$ r2 frida://spawn/usb/         # 枚举设备$ r2 frida://spawn/usb//        # 枚举第一个设备的应用程序$ r2 frida://spawn/usb//HelloWorldJNI # 运行 HelloWorldJNI 应用程序

要使用r2frida的命令,得在命令的前面加上 \或 =!,比如获取 help:=!?或 \?,此处的命令前面加\运行失败了,用的=!正常运行成功

=!?


如果想要获取某个字母有哪些命令只需要在其后面加 ?即可,如下:

=!dm?

这里用到的匹配符~,这个符号类似grep命令;也可以以radare的格式输出,只需要在命令后面加个*符号,如下:

$ =!dm*~sg.vantagepoint.helloworldjni

如果你想更方便的把获取到的数据直接使用,可以输出为JSON格式,只需要在命令后面加j,如下:

$ =!dmj~sg.vantagepoint.helloworldjni

提前准备环境:Visual Studio 2019、Node.js 14.17.4、Cygwin 3.2.0(记得选择wget)、Frida 15.1.2
(提前安装好以上环境,VS版本至少为2015)

在Linux和Windows上安装r2frida:https://blog.xhyeax.com/2021/10/01/r2frida-install-on-linux-and-win/

下载radare2的radare2-5.7.6-w64.zip,解压到任意目录,将..\radare2\bin目录添加到PATH环境变量后,执行r2 -v查看版本号

下载r2frida,然后编辑build.bat,修改frida_version为frida安装版本,修改R2_BASE为radare2安装目录(不需要bin)

frida --version


..\radare2\include\libr\r_cons.hUTF-8 with BOM编码重新保存

在cmd中打开该目录,使用vcvarsall.bat初始化环境,然后执行安装脚本

"[Visual Studio安装位置]\VC\Auxiliary\Build\vcvarsall.bat" x64.\build.bat install

安装成功将提示(我这里安装失败了

Installing...Copying 'io_frida.dll' to C:\Users\xhy\.local\share\radare2\plugins        1 file(s) copied.

参考链接

https://blog.xhyeax.com/2021/10/01/r2frida-install-on-linux-and-win/https://ckcat.github.io/2019/12/21/r2Frida环境配置及使用/

Android APP防作弊SDK解决方案

APP逆向分析/渗透测试/安全检测/隐私合规如何选择手机机型或系统


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NzUzNzk1Mw==&mid=2247494049&idx=1&sn=4c8d37ad1ea27badb8c57aff57f1ec6a&chksm=ceb8aceff9cf25f90e41d812cd5c6f1f33ed7c187c7ea530c90ccba3373af1984c884766993a#rd
如有侵权请联系:admin#unsafe.sh