Radare2 有 S* 命令,可以显示、删除、修改部分。是否可以在可执行文件中创建新部分并保存?
Radare2 创建部分
逆向工程
拆卸
小精灵
雷达2
部分
2021-06-27 00:02:49
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]>