逆向工程中的实际常识是,尝试在“受 VM 保护”或虚拟化程序上使用本机调试器或反汇编器更难分析。但是,我想知道这种情况的具体具体方式以及原因。请列出一些原因以及是否已手动克服各种原因(不使用脚本)的任何相关工作。
如果认为这个问题过于笼统,让我们关注一个具体的例子。该示例是我们尝试使用本机调试器(例如 x64Dbg)来定位对 Windows API CreateFile 的调用并找出文件写入的位置。在不受保护的程序中,我们可以打开它,在 CreateFile 上放置一个断点,并在检查交叉引用调用后定位调用。
Themida Protector 如何成功阻止这个过程?显然,最终程序仍然必须写入文件,但是哪些步骤严重阻碍了分析?