运行同一应用程序的多个实例 - Adob​​e Reader

逆向工程 模糊测试 漏洞分析 多进程
2021-06-20 13:33:57

我对Adobe Reader进行模糊测试已经有一段时间了。

我面临的问题之一是运行同一应用程序的多个实例。如果我能够运行同一应用程序的多个实例,我将有效地利用我的 CPU 周期。

但是,问题是像 Adob​​e Reader 这样的应用程序不允许多个实例。

有什么方法可以运行多个不支持多个实例的应用程序实例并有效地对它们进行模糊测试。

实际上,我正在努力寻找实现目标的方法。

想法之一是挂钩函数

请分享您的观点和意见。

1个回答

Adobe Reader 使用以下两种方法来确定另一个实例是否正在运行:

  • CreateSemaphoreW(NULL, 0, 1, L"Acrobat Viewer") 其次是 GetLastError() == ERROR_ALREADY_EXISTS
  • FindWindowW(L"Acrobat Viewer", NULL) != NULL

因此,只要您适当地挂钩这两个函数或修补执行这些检查的代码,您就可以运行 Adob​​e Reader 的多个实例。