有人会如何对受虚拟机保护的样本进行逆向工程?问题是它opcode
不再是bytecode
我不知道的,因为它是一个私人虚拟机,所以你将如何解决这个问题,考虑到ida pro
其他工具不起作用,你们中的一些人可能会说找到在OEP
这是可能的,如果它是一个简单的包装完全拆开它自身在第一击,但它不是这种情况在这里意志。
我正在寻找有关如何解决此问题的想法。
有人会如何对受虚拟机保护的样本进行逆向工程?问题是它opcode
不再是bytecode
我不知道的,因为它是一个私人虚拟机,所以你将如何解决这个问题,考虑到ida pro
其他工具不起作用,你们中的一些人可能会说找到在OEP
这是可能的,如果它是一个简单的包装完全拆开它自身在第一击,但它不是这种情况在这里意志。
我正在寻找有关如何解决此问题的想法。
当样本受到 VM 保护时,对代码本身进行逆向工程的唯一方法是从了解 VM 开始。
根据我的发现,很多 VM 有两个共同点:
它们并不复杂(有时字节码指令本身只是被解码为 x86 指令——通常还有一些 VM 指令) VM 中的复杂性会很快降低性能。
他们通常很困惑
除了您可以尝试的一些通用解决方案(即 VMHunt)之外,您通常需要对 VM 进行逆向工程并了解它如何解码字节码指令 - 以及每个 VM 指令的作用。然后,您可以使用该知识将字节码转换回其原始形式——此时您可以在 IDA Pro 等中对其进行分析……通常,尽管存在混淆,但最困难的部分是理解 VM。
这可能是一个相当漫长/复杂的过程,我之前曾使用过代码虚拟器,并鼓励您从阅读我在 x86virt 上的一些工作开始:
Devirtualizer 源代码:https : //github.com/JeremyWildsmith/x86devirt