如何使用 Ida 调试 activeX

逆向工程 艾达 视窗 调试
2021-06-24 22:58:38

当我进入某个站点时,它要求我将 ActivX 安装到我的 Internet Explorer 浏览器,以便该站点运行良好。我安装了那个,那个网站运行良好。

如何查看此 ActiveX 代码(代码位于何处)并使用 Ida 调试此代码?

1个回答

ActiveX 控件 (.ocx) 实际上是符合 COM 标准的简单 DLL。实际上,这意味着它导出标准的 COM 入口点,例如:

 DllRegisterServer
 DllUnregisterServer
 DllCanUnloadNow
 DllGetClassObject

对我们来说最重要的是DllGetClassObject因为这是宿主进程调用它来创建 ActiveX 控件。

要查看代码所在的位置,您需要找到实现它的文件。在 IE 中,可以从“管理加载项”对话框中完成。


例如,以下是 Flash 控件的详细信息:

Name:                   Shockwave Flash Object
Publisher:              Microsoft Windows Third Party Application Component
Type:                   ActiveX Control
Architecture:           32-bit and 64-bit
Version:                32.0.0.387
File date:              ‎3 ‎June, ‎2020, ‏‎03:53
Date last accessed:     ‎16 ‎June, ‎2020, ‏‎21:19
Class ID:               {D27CDB6E-AE6D-11CF-96B8-444553540000}
Use count:              52850
Block count:            18
File:                   Flash.ocx
Folder:                 C:\Windows\System32\Macromed\Flash

所以,我们需要分析Flash.ocx(在C:\Windows\System32\Macromed\Flash64 位或C:\Windows\SysWow64\Macromed\Flash32 位 IE 中)。

要调试,请在 Debugger-Process Options-Input File 中设置文件的完整路径,设置断点,DllGetClassObject然后附加到 IE 进程。一旦加载了带有 Flash 控件的页面,就会触发断点。