Linux与Windows系统安装radare2+r2frida的方法简析

电子说

1.3w人已加入

描述

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

 

虚拟机

安装成功将提示:

虚拟机

接着运行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
x86 intel32位,一般用于平板电脑
x86_64 intel64位,一般用于平板电脑
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

 

虚拟机

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:https://blog.xhyeax.com/2021/10/01/r2frida-install-on-linux-and-win/

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

虚拟机

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

 

frida --version

 

虚拟机
虚拟机

将.. adare2includelibr _cons.h以UTF-8 with BOM编码重新保存

虚拟机

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

 

"[Visual Studio安装位置]VCAuxiliaryBuildvcvarsall.bat" x64.uild.bat install

 

虚拟机

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

 

Installing...Copying 'io_frida.dll' to C:Usersxhy.localshare
adare2plugins        1 file(s) copied.

 


审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分