首页
社区
课程
招聘
[求助]vc2010和win2k的兼容问题
发表于: 2010-4-24 11:16 9602

[求助]vc2010和win2k的兼容问题

2010-4-24 11:16
9602
vc2010编译出的东西已经无法在windows xp sp2以下系统上运行了,
微软官方说,win2k已经不被提供支持,主要是因为vc2010编译出的文件依赖EncodePoint/DecodePoint等API,Win2k下没有。
现在想让vc2010编译出的应用程序在win2k下跑,有没有比较完美的解决办法呢?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 962
活跃值: (1686)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
把那些安全选项关掉

再不行就自己指定入口点
2010-4-24 11:17
0
雪    币: 144
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
关键是msvcr100.dll,msvcp100.dll,mcf100.dll都依赖EncodePoint/DecodePoint等API,我总不能把CRT和MFC都重新编译一遍吧。
2010-4-24 11:22
0
雪    币: 962
活跃值: (1686)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
那没什么好办法...
2010-4-24 11:27
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
重建CRT/ATL/MFC运行库,添加或修改 _WIN_NT 的定义.
重建这些库挺简单的,当然,如果遇到问题的话,可能得费点时间修改.
2010-4-24 18:47
0
雪    币: 144
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最终还是没搞定,用vc9的库了,要是能劫持win2k的kernel32.dll应该能运行,但是不知道怎么做
2010-4-25 18:22
0
雪    币: 263
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
帮你找下方法啊
2010-6-4 10:03
0
雪    币: 263
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
要是需要在windows xp sp2以下系统上运行,还用VC6吧,毕竟是一个年代的东西啊
2010-6-4 10:05
0
雪    币: 263
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
找到解决方案了,主要还是工程属性设置的问题
vc2010编译出的东西已经无法在windows xp sp2以下系统上运行了
提示msvcr100.dll没有找到解决方法:
Property Pages  ->  Configuration Properties  ->  C/C++  ->  Code Generation
->  Runtime Library在这一项里默认为Multi-threaded DLL(/MD),只要设置为Multi-threaded(/MD)即可。
在体积上会比原来大一些,但是可以正常运行了。
测试系统为windows xp sp2+vwmare7.0,其它系统无测试,欢迎各位拍砖。
2010-6-4 11:22
0
雪    币: 962
活跃值: (1686)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
晕 这个是因为没装运行库
2010-6-4 12:00
0
雪    币: 302
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
把需要运行库一起打包就行了吧
2010-6-4 12:19
0
雪    币: 144
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我用local文件方式劫持了kernel32,最终还是不行,原因在于10.0的链接器链接出的pe文件NT可选头中的操作系统版本为5.1……看来微软是彻底抛弃win2k了
2010-6-4 19:13
0
游客
登录 | 注册 方可回帖
返回
//