我们要用到X64DBG,用来制作dump。会用到它的两个插件Scylla和ScyllaHide。

ScyllaHide是一个高级的开源x64/x86用户模式Anti-Anti-Debug库。 它hook用户模式(ring3)中的各种函数以隐藏调试。地址:

https://github.com/x64dbg/ScyllaHide

 

为了防止检测 ,我们还需要用到processhack2

 在运行游戏之后,首先进入一场游戏之中(这样保证我们想找的东西一定会出现在dump文件里面)使用process hack把整个进程全部暂停。这样不管是x64dbg 还是ce 都不会被检测到

在x64dbg中选择插件,ScyllaHide,并加载为vmprotect

随后attach到Overwatch.exe

这时候再打开Scylla,来制作dump。首先选择正确的进程

点击IAT Autosearch,完成后再点击Get Imports 

 

最后点击Dump,再对dump出来的文件进行pe rebuild,fix dump,就会得到Overwatch_dump_SCY.exe。这就是我们所需要的dump文件了。

下面来详细讲解:

"IAT autosearch" 

       软件通常会使用导入地址表来引用系统和其他动态链接库中的函数,从而执行各种操作,如文件操作、网络通信等。IAT autosearch 的目的是帮助分析人员快速定位软件使用的导入函数,从而更好地理解软件的功能和行为。工具自动扫描样本的二进制文件,识别并列出其中的导入函数及其相应的库和模块。

"Get Imports"

       用于获取可执行文件或DLL中的导入函数信息。导入函数是指程序在运行时从其他模块(如系统库、动态链接库)中引入的函数。通过分析导入函数,可以了解程序的依赖关系以及与其他模块之间的交互方式。对于逆向很有帮助,它可以帮助识别程序所依赖的外部功能,更好地理解程序的行为。

"Dump"

       用于将目标进程的内存内容转储。这个功能对于进行软件分析、逆向工程以及调试等任务非常有用。可以选择一个正在运行的进程或者打开的可执行文件,然后指定要转储的内存范围。Scylla会将指定内存范围的内容读取并保存到文件中,通常是一个二进制文件。这个文件可以被进一步分析、解析,甚至调试。

"PE Rebuild"

       用于重新构建一个可执行文件的导入表(Import Table)。在逆向工程和软件分析中,重新构建导入表可以用于修改、修复或替换样本的导入函数,从而实现一些特定的目标,如绕过某些保护机制、修复被损坏的文件等。可执行文件的导入表是一个数据结构,用于存储程序所依赖的外部函数和模块的信息。可能使用 "PE Rebuild" 功能来修改导入表,以实现对程序行为的操控,或者绕过一些防御措施。

"Fix Dump"

       用于修复通过内存转储(dump)获取的软件样本。这个功能通常用于将恶意软件的导入表(Import Table)修复为有效的状态,从而使样本能够在逆向工程和分析过程中正确执行和调试。在分析软件时,研究人员可能会遇到导入表被破坏、修改或删除的情况,这可能是为了逃避静态分析、隐藏功能或对抗分析工具。"Fix Dump" 功能允许分析人员重建被破坏的导入表,以便在分析过程中更准确地模拟软件的行为。通过使用 "Fix Dump",可以加载一个经过内存转储的恶意软件样本,然后选择修复导入表。Scylla 将尝试从已知的系统库和模块中还原正确的导入函数和地址,以便恢复样本的功能。

总的来说 都是为了修复导入函数和导入表 从而让dump文件能被看懂 能够分析。

下面 就可以把DUMP文件放进IDA 开始逆向工程了

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐