Linux+Windows安装r2Frida环境的配置及使用方法
// 需要提前安装好需要的环境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
0x01 Linux 安装radare2+r2frida 【推荐】 Linux 系统安装,此处安装的系统为Ubuntu(我用得Ubuntu 18,不太推荐用Kali Linux,我这里使用Kali 2022版本的有些源依赖找不到或更新源容易出问题,以前版本没遇到过这种问题,大家看着来吧,如果Kali 用如下方法失败,建议用个干净点的Ubuntu系统来安装),步骤如下:
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
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"
adb shell getprop ro.product.cpu.abi
在快安装好的结尾,会提示输入密码,然后自动配置一些环境变量等配置,此时就代表已安全好了 安装成功将提示:
接着运行r2 frida://?显示帮助,测试插件是否安装成功,如下:
运行r2 frida://?显示帮助,测试插件是否安装成功,如下:
获取当前模拟器的CPU,好选择frida-server的版本
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
AndroidCPU架构: CPU架构描述 armeabi 第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢 armeabi-v7a 第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能 arm64-v8a 第8代,64位,包含 Aarch32、Arch64两个执行状态对应32、64bit x86 intel32位,一般用于平板电脑 x86_64 intel64位,一般用于平板电脑 mips 少接触 mips64 少接触
./data/local/tmp/fshbbx86 -l 0.0.0.0:8080 (8080为自定义端口)
注:有些APP会检测本地是否启动了frida-server,以及监听是否开启了27042端口。有反调试的话,可以将名字重新改成别的,fshbbx86之类的,以及更改端口,此处不介绍反检测绕过的知识,感兴趣的同学可以私下自行了解
adb shell /data/local/tmp/frida-server-15.2.2-android-x86 -l 0.0.0.0:8080
adb forward tcp:27042 tcp:27042adb forward tcp:27043 tcp:27043adb forward tcp:38089 tcp:38089
frida-ls-devices
$ r2 frida://spawn/usb/ # 枚举设备$ r2 frida://spawn/usb// # 枚举第一个设备的应用程序$ r2 frida://spawn/usb//HelloWorldJNI # 运行 HelloWorldJNI 应用程序
=!?
=!dm?
要使用r2frida的命令,得在命令的前面加上\或=!,比如获取 help:=!?或\?,此处的命令前面加\运行失败了,用的=!正常运行成功 如果想要获取某个字母有哪些命令只需要在其后面加?即可,如下:
$ =!dm*~sg.vantagepoint.helloworldjni
$ =!dmj~sg.vantagepoint.helloworldjni
这里用到的匹配符~,这个符号类似grep命令;也可以以radare的格式输出,只需要在命令后面加个*符号,如下: 如果你想更方便的把获取到的数据直接使用,可以输出为JSON格式,只需要在命令后面加j,如下:
0x02 Windows 安装radare2+r2frida【不推荐】 提前准备环境:Visual Studio 2019、Node.js 14.17.4、Cygwin 3.2.0(记得选择wget)、Frida 15.1.2 (提前安装好以上环境,VS版本至少为2015) 在Linux和Windows上安装r2frida: 下载radare2的radare2-5.7.6-w64.zip,解压到任意目录,将..\radare2\bin目录添加到PATH环境变量后,执行r2 -v查看版本号
frida --version
下载r2frida,然后编辑build.bat,修改fridaversion为frida安装版本,修改R2BASE为radare2安装目录(不需要bin) 将..\radare2\include\libr\r_cons.h以UTF-8 with BOM编码重新保存
"[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环境配置及使用/