簡體   English   中英

攔截與獲取Windows Verion有關的API調用

[英]Intercepting API calls related to getting Windows Verion

我一直在玩Homeworld 1,要使其運行,您需要運行Windows NT 4兼容模式。

Windows 8出於某種原因沒有此功能,這很煩人。

使用Microsoft應用程序兼容性工具包,我發現Homeworld進行了API調用以獲取Windows版本,除非它認為它在Windows NT上運行,否則它似乎停止工作(使用調試器,我可以看到它要求GetVersion和GetVersionEx)。 。

http://technet.microsoft.com/en-us/library/cc749574(v=ws.10).aspx

將以上內容與Microsoft Applocation Compat Toolkit一起使用可解決此錯誤,但我在許多不同的計算機上玩此游戲,其中一些無法使用上述方法。

我有什么辦法可以做一些包裝來攔截API調用,並通過上述鏈接結構返回它們,以便程序認為它在NT上運行? 我已經看到了很多放置在文件夾中的DLL,它可以攔截某些調用,盡管我不確定它們是如何工作的,我認為它們是用C,C ++編寫的。

我真正了解的唯一語言是C#,我認為它無法滿足我的要求,因此,如果有人能夠向我指出正確的方向,請提供幫助,在此方面給我提示或指出我可以得到的地方更多的幫助,那就太好了!

謝謝你的時間!

您可以使用api掛鈎庫,這是著名的easyhook庫的教程

為您的應用程序掛鈎GetVersionEx api,然后返回您想要的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM