程序已经做好,win7,xp下测试没问题,win2000测试提示:不合法的的win32应用程序。
Google一下,才知道vs2010不支持 xp sp2以下的系统,包括win2000。
网上说有一个方法,使用汇编函数绕过kernel32.dll,具体如下
http://ping235.blog.163.com/blog/static/44476138201191193644769/
但我调试了无数次,都不成功,win2000依然提示:不合法的的win32应用程序。有哪位朋友遇到过类似问题,有无解决办法?因为客户中确实还有使用win2k的。
Google一下,才知道vs2010不支持 xp sp2以下的系统,包括win2000。
网上说有一个方法,使用汇编函数绕过kernel32.dll,具体如下
http://ping235.blog.163.com/blog/static/44476138201191193644769/
但我调试了无数次,都不成功,win2000依然提示:不合法的的win32应用程序。有哪位朋友遇到过类似问题,有无解决办法?因为客户中确实还有使用win2k的。
如果还不行的话,你可以:
editbin /VERSION:5.0 test.exe
editbin.exe是VC++中的一个命令行工具,test.exe是你写的程序。
请教以下两步具体如何操作:1、将得到的crack.obj添加到需要支持Windows 2000的项目里,直接添加即可,(具体如何添加?)
2、如果不习惯使用obj文件,也可以用以下命令将obj编成lib文件:lib crack.obj,将得到的crack.lib文件添加到项目中即可,但必须确保链接顺序先于kernel32.lib。( 如何添加链接,才能确保链接顺序先于kernel32.lib?)
3.另外,很多函数MSDN中都限制最低操作系统要求,这个也要注意。
2、如果不习惯使用obj文件,也可以用以下命令将obj编成lib文件:lib crack.obj,将得到的crack.lib文件添加到项目中即可,但必须确保链接顺序先于kernel32.lib。( 如何添加链接,才能确保链接顺序先于kernel32.lib?)哪位高人指教一下,拜托了
把crack.obj直接添加到项目里面就行了.obj的链接顺序是不是先于lib?
Server Requires Windows Server 2003 SP1.
Header Declared in Winbase.h; include Windows.h.
Library Link to Kernel32.lib.
似乎这个汇编函数没起作用,还是我没加进去?尝试了4种方法都没起作用:我操作的方法是:
1、ml 生成obj后,项目->添加现有项->选择obj。(没起作用,于是用下面方法)2、项目->属性->链接器->输入->附加依赖项:crack.obj,常规->附加库目录:D:\soft\myObj\debug,(也没作用,于是 编译为lib)3、项目->属性->链接器->输入->附加依赖项:crack.lib,常规->附加库目录:D:\soft\myObj\debug,(也没作用)4、#pragma comment(lib,"D:\\soft\\myObj\\debug\\crack.lib") 还是没作用
以上4种方法都不起作用,都提示“无法定位输入点 DecodePointer”
由于我没装VC++的IDE,里面怎么设置我不敢保证。命令行下如此:cl /Ox test.cpp crack.obj
您具体是如何实现的呢,能否告知一下,万分感谢,我现在会提示“无法找到程序输入点 DecodePointer”,检查了
也试过08编译,不过修改的地方很多,CImage也不支持。
现在总算在XP SP1下通过了,WIN2K还是有依赖的函数 HeapQueryInfomation,看来只能放弃win2k用户了。