首页
社区
课程
招聘
2
[原创]Radare2逆向分析dex/so/二进制等文件的使用方法
发表于: 2020-12-12 11:39 5624

[原创]Radare2逆向分析dex/so/二进制等文件的使用方法

2020-12-12 11:39
5624

git clone https://github.com/radareorg/radare2.git
git pull
r2pm init
r2pm update
sys/install.sh


 

radare2 -h

 

rabin2是radare2套件中的一个工具,主要用来提取二进制文件中的信息

 

rabin2 -qi classes.dex | grep -i -e sms -e bluetooth -e install -e PackageManager -e Datagram -e Telephony -e nfc -e exec

 

rabin2 -qi ~/gyp/SecurityAnalysis/apk/classes.dex | grep -i -e sms -e bluetooth -e install -e PackageManager -e Datagram -e Telephony -e nfc -e exec

 

readelf -d libcoser.so

 

i开头的命令主要用来获取各种信息
i?

 

a开头的命令用于分析文件
a?

 

VV/vv命令进入图形化界面
大写的VV进入图形化模式(键盘h、j、k、l按键移动图像)使用p/P切换图形模式,空格切换文本图形模式,文本下可以用p切换模式,小写的vv用来粗略浏览函数信息

 

按键盘q可以退出图形化界面,回到shell

 

首先rabin2加上-I参数来让rabin2打印出二进制文件的系统属性、语言、字节序、框架、以及使用了哪些加固技术
rabin2 -I 文件名

 

r2 filename加载文件
r2 文件名
直接使用r2 filename进入程序。使用-d选项进入调试模式,输入!在调试的时候可以看到历史操作记录

 

使用ie命令手动打印出入口点

 

aaa分析程序中所有函数,分析前radare2识别不了函数,分析后就可以正常打印函数代码了(pdf打印函数代码),aa命令只分析主函数

 

aa或者aaa进行细致的分析

 

分析完成之后,r2会将所有有用的信息和特定的名字绑定在一起,比如区段、函数、符号、字符串,这些都被称作'flags',flags被整合进,一个flag 是所有类似特征的集合

 

fs查看所有的flag

 

fs imports; f
打印出imports下面的信息

 

为了获取更多的信息,iz命令可以再列出数据段里的字符串


 

axt @@ str.
'axt'命令用来在data/code段里找寻某个地址相关的引用
'@@'就像一个迭代器,用来在地址空间里不断地匹配后面一系列相关的命令
'str.
' 是一个通配符,用来标记所有以 'str.'开头的信息,不光会列出字符串标志,同时也包括函数名,找到它们到底在哪里以及何处被调用。

 

radare2分析出来哪些函数
通过afl命令列出所有的函数。通过v命令进入可视化界面。包括流程图、汇编代码、函数、符号等信息
afl显示主函数,有时候不需要分析整个二进制文件,或者有个函数radare2没有识别出来可以af来分析该函数

 

s function跳转到想跳转的位置
s entry0

 

指令定位到entry0函数入口处

 

pdf查看函数汇编代码
pdf输出反汇编代码,分析函数的执行流程
pd x打印汇编信息x条


[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费 2
支持
分享
赞赏记录
参与人
雪币
留言
时间
PLEBFE
为你点赞~
2022-7-30 09:34
香风一族
为你点赞~
2020-12-12 11:43
最新回复 (0)
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册