我正在分析一个恶意软件,它有很多令人困惑的方法,我写了一个 idc 脚本来消除混乱,使用 MakeCode() 函数将一些 Unexplored 数据转换为代码,但仍有一些无法转换手动转换当一些Unexplored数据时,会弹出一个窗口提示你是否转换,所以我需要一个方法来强制将Unexplored数据转换成代码。有谁知道哪个api脚本语言可以实现这样的功能?我使用 FindUnexplored 来查找 Unexplored 数据。
如何将 IDA Pro 中的 Unexplored 数据转换为代码?
逆向工程
艾达
二元分析
恶意软件
聚乙烯
数据中心
2021-06-28 11:36:01
1个回答
使用MakeCodeidc 或 idaPython 函数完全可以,这个函数正是您所需要的。但是(尤其是在分析恶意软件时)您可能会遇到以下问题:
- 它可能被加密(如 AES 或其他加密算法)或转换(如与某种模式异或)代码。显然,它不能按原样拆卸。
- 它可能是带有垃圾字节的混淆代码(类似于
jmp $+6;garbage byte;code to jump to)。一般来说,IDA 应该处理它,但如果你从不正确的字节开始转换,它将是垃圾。这个问题可以在具有非常数指令长度的体系结构中找到,例如 x86 或 x64。 - 它可能只是数据。并非所有未探索的字节都是代码。
- 这可能是 IDA 反汇编程序无法处理的一些奇特的指令变体。虽然理论上可能,但极不可能。