当我进入某个站点时,它要求我将 ActivX 安装到我的 Internet Explorer 浏览器,以便该站点运行良好。我安装了那个,那个网站运行良好。
如何查看此 ActiveX 代码(代码位于何处)并使用 Ida 调试此代码?
当我进入某个站点时,它要求我将 ActivX 安装到我的 Internet Explorer 浏览器,以便该站点运行良好。我安装了那个,那个网站运行良好。
如何查看此 ActiveX 代码(代码位于何处)并使用 Ida 调试此代码?
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\Flash
64 位或C:\Windows\SysWow64\Macromed\Flash
32 位 IE 中)。
要调试,请在 Debugger-Process Options-Input File 中设置文件的完整路径,设置断点,DllGetClassObject
然后附加到 IE 进程。一旦加载了带有 Flash 控件的页面,就会触发断点。