如何使用radare2将.text段转储到输出文件?

时间:2017-03-14 08:54:36

标签: hex dump portable-executable

我在我的windows10上运行了这个radare2,并尝试获取PE格式可执行文件的.text部分。我首先要知道.text部分的大小是什么,并在地址范围内进行转储?感谢您分享您的知识!

2 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。

您可以使用以下命令将.text段转储为C样式的字节字符串:

pcs section_end..text-section..text @ section..text > myfile.txt

即“\ x90 \ x90 \ x41 \ x41”。

看'pc?'有关其他输出格式的帮助。

'section_end..text'和'section..text'是.text部分开头和结尾地址的标记或书签。 radare2识别部分并为您创建标记(在radare2中称为标记)。所以我们从.text起始地址中获取suubtraction .text结束地址以获取部分的长度

你也可以使用'wtf'进行原始二进制转储。类似的东西:

wtf myfile section_end..text-section..text @ section..text
  • 'wtf'用于写入文件
  • myfile是您的文件名
  • 从开始减去结束以获得长度
  • '@ section..text'告诉它寻求开始倾销的位置 从

答案 1 :(得分:0)

你的.text部分名称是什么?在文件中我看到.text.0,因为PE文件中有多个部分。因此,请添加以下数字 - .text。< ##>

例如,pcs section_end..text.0-section..text.0 @ section..text.0> myfile.txt的

虽然这会在文件中输出.text部分的一个长文本行:

" \ x8b \ x9c ... \ x67 \ xf1 \ xff \ x00 \ x00"

编写.text。< ##>部分到文件也改变命令:

wtf section_end..text.0-section..text.0 @ section..text.0

将数字0更改为.text的数字。< ##>部分编号。使用命令:

S

列出所有部分