错误提示 - QQMGameBoxUpdater 无法找到入口(GetFileVersionInfoExW)

发现用户电脑反复弹出如下错误提示:

QQMGameBoxUpdater.exe - 无法找到入口
无法定位程序输入点 GetFileVersionInfoExW 于动态链接库 VERSION.dll 上。

定位 QQMGameBoxUpdater.exe 文件,位于C:\Documents and Settings\Administrator\Application Data\Tencent\QQMicroGameBox\1.1.4.8 ( %appdata%\Tencent\QQMicroGameBox)目录下,系腾讯腾讯页游微端升级组件。
首先检查确认 VERSION.dll 正常存在,似乎也未见损坏,之前还怀疑是防毒程序误删了。
查找资料得知,GetFileVersionInfoExW 函数的最小操作系统需求是Vista系统,而检查 QQMGameBoxUpdater.exe 文件的编译是支持XP的,只是其中调用了XP不支持的函数。
通过在目标机上结束 QQMGameBoxUpdater.exe 等相关进程,并取消了腾讯页游微端更新程序和游戏盒子等程序的自启动,解决问题。

随后分别在Win8和WinXP系统上用检查文件依赖/调用的工具分析确认此问题:



在虚拟机上对腾讯页游微端更新程序进行测试,发现其新装腾讯页游微端后其自动更新程序仅更新到版本1.1.4.6,该版本 QQMGameBoxUpdater.exe 不包含额外的GetFileVersionInfoExW和GetFileVersionInfoSizeExW函数调用,可以在XP下运行。

(另1.1.4.6的文件版本管理也是比较混乱,上面主程序和更新程序等的版本互相也对不上啊,而1.1.4.8的基本调整成一致了)

那么目标机上不能正常运行的版本1.1.4.8的 QQMGameBoxUpdater.exe 又是怎么来的呢?
猜测原因可能是程序编写问题(后进行了调整)或者是程序检查判断用户电脑系统版本出错,分析到此为止。

参考资料:
Version Information Functions > GetFileVersionInfoEx
https://msdn.microsoft.com/en-us/library/windows/desktop/aa969434(v=vs.85).aspx

posted @ 2017-09-18 11:06  门口  阅读(1101)  评论(0编辑  收藏  举报