正版 Label Matrix 限制了可运行的 Windows 版本;在 Win11 上运行提示系统版本过高,要求升级软件
用 Api Monitor 分析后发现程序的 lm800v.dll 调用了系统的 kernel32.dll!VerifyVersionInfoA 函数来判断系统版本,修改参数后成功绕过系统限制。
现在想制作一个可以绕过限制的 dll ,因缺乏相关经验求高人指点😶🌫️
暂时想到的两个办法:
- 反汇编 dll 后发现这个语句的 edx 寄存器保存了允许运行的最高系统版本参数,然后不知到要怎么修改保存
mov dword ptr [ebp+FFFFFF54h],edx
- 制作 kernel32.dll 的 dll wrapper ,修改 VerifyVersionInfoA 的返回值(但是不想改系统文件)
谢谢😊
关键词: C++, Win32 API