首先,这合法吗? (顺便说一句,我爱华硕,但这似乎是非法的) 我正在尝试在不兼容的 Asus 计算机上安装 Asus AI suite 3:启动安装程序时,出现错误提示设备不兼容。在安装目录中,有多个副本的AppSetup.exe和Setup.exe(为什么笑)和IsSupported.dll。所以我尝试使用 IDA 对其进行分解(我是菜鸟)。我是从华硕主板的下载中心下载的(我的主板是兼容的,但我想在另一台电脑上下载软件)
所以在这个 dll 中,似乎有一个名为 IsSupported 的函数可以执行此操作:
public IsSupported
.text:10001010 IsSupported proc near ; DATA XREF: .rdata:off_10009AF8↓o
.text:10001010 mov al, 1
.text:10001012 retn
.text:10001012 IsSupported endp
所以只返回 1. 在导出部分,只有两个函数:IsSupported 和 DllEntryPoint。那么问题来了:这个函数是什么时候调用的?当 dll 有效地查看了计算机的硬件信息并发现它是兼容的时,我们期望被调用,因此可能通过检查兼容硬件列表来调用。 但是,对该函数的唯一引用是在“IsSupported_Matrix.dll”(在帖子的图片中)中导出时。下一步是什么 ?另外,一旦 dll 被修改,如何将其编译回来?