在 IDA 中,是否可以将占位符数据转换为代码段?
在我正在使用的库的末尾,有一个从 016AAB31 开始的未初始化段。
但是,十六进制和实际数据(即问号字符串)不允许我使用编辑功能将 arm asm 指令放入其中。它声称它不能将“????”转换为十六进制整数。
有没有办法扩展代码段让我添加更多代码,或者有其他方法可以做到这一点?谢谢
在 IDA 中,是否可以将占位符数据转换为代码段?
在我正在使用的库的末尾,有一个从 016AAB31 开始的未初始化段。
但是,十六进制和实际数据(即问号字符串)不允许我使用编辑功能将 arm asm 指令放入其中。它声称它不能将“????”转换为十六进制整数。
有没有办法扩展代码段让我添加更多代码,或者有其他方法可以做到这一点?谢谢
Edit > Segments > Create Segment
我建议不要在 IDA 中这样做。IDA 不是修补工具。尽管 IDA 有一些插件可以实现这一点,但对于可执行格式编辑器来说,有更好的选择,它们可以更好地添加附加部分并在其中处理数据,这似乎正是您所追求的。
我怀疑即使您设法创建它,IDA 也无法在修改后的/新部分中打补丁。我认为你必须使用另一种工具来完成这项工作。
由于您使用的是 ARM 程序集,因此我假设您使用的是 elf 格式的可执行文件。为此,只需使用即可objcopy --add-section
。您可能还想看看--set-section-flags
之后。
更高级的工具包括eresi和radare项目。两者都能够并且旨在操纵 ELF 可执行文件,以减轻逆向工程师和/或安全研究人员的工作。