Radare2 创建部分

逆向工程 拆卸 小精灵 雷达2 部分
2021-06-27 00:02:49

Radare2 有 S* 命令,可以显示、删除、修改部分。是否可以在可执行文件中创建新部分并保存?

1个回答

创建部分确实有效,但保存它们有一个很长的未解决的错误报告我想,不确定,我现在看到错误报告已在某些版本中标记为已修复并已关闭。

但是刚刚尝试了 wci 命令,我没有看到将 Newsection 写到磁盘中的文件,所以也许你应该在 Radare 的报告部分解决这个问题。

:\>radare2 -w jmpesp.exe
 -- The door is everything ...

[0x00401000]> e io.cache = true
[0x00401000]> e io.cache.write =true
[0x00401000]> e io.cache.read  = true

[0x00401000]> S
[00:00] * pa=0x00000200 mr-x va=0x00401000 sz=0x0200 vsz=0x1000 .text
[00:01] . pa=0x00000400 mr-- va=0x00402000 sz=0x0200 vsz=0x1000 .rdata

[0x00401000]> S 0x600 0x403000 0x200 0x1000 .what rwx

[0x00401000]> S
[00:00] * pa=0x00000200 mr-x va=0x00401000 sz=0x0200 vsz=0x1000 .text
[00:01] . pa=0x00000400 mr-- va=0x00402000 sz=0x0200 vsz=0x1000 .rdata
[-1:02] . pa=0x00000600 -rwx va=0x00403000 sz=0x0200 vsz=0x1000 .what

[0x00401000]> om
 6 fd: 3 +0x00000600 0x00403000 - 0x004031ff -rwx fmap..what
 5 fd: 6 +0x00000000 0x00403200 - 0x00403fff -rwx mem..what
 4 fd: 3 +0x00000200 0x00401000 - 0x004011ff -rwx fmap..text
 3 fd: 5 +0x00000000 0x00401200 - 0x00401fff mrwx mmap..text
 2 fd: 3 +0x00000400 0x00402000 - 0x004021ff -rw- fmap..rdata
 1 fd: 4 +0x00000000 0x00402200 - 0x00402fff mrw- mmap..rdata

[0x00401000]> wci

[0x00401000]> S
[00:00] * pa=0x00000200 mr-x va=0x00401000 sz=0x0200 vsz=0x1000 .text
[00:01] . pa=0x00000400 mr-- va=0x00402000 sz=0x0200 vsz=0x1000 .rdata
[-1:02] . pa=0x00000600 -rwx va=0x00403000 sz=0x0200 vsz=0x1000 .what
[0x00401000]> 

退出并重新打开不会显示新的部分

[0x00401000]> q

:\>radare2 -w jmpesp.exe
 -- *(ut64*)buffer ought to be illegal
[0x00401000]> S
[00:00] * pa=0x00000200 mr-x va=0x00401000 sz=0x0200 vsz=0x1000 .text
[00:01] . pa=0x00000400 mr-- va=0x00402000 sz=0x0200 vsz=0x1000 .rdata
[0x00401000]>