无忧启动论坛

标题: [求助]请论坛的大大们帮忙写个HOOK程序 [打印本页]

作者: neo4026    时间: 2007-8-5 23:00
标题: [求助]请论坛的大大们帮忙写个HOOK程序
关于xp pe装vista的问题 虽然绝版得出了结果 但那只是欺骗了安装程序 使其将PE认成XP 导致分区功能无法使用
根治的方法是使其判断为2003的PE 我个人估计分两步:
1.从MiniNT键值判断是否PE系统 这点已经从绝版的结果中得出结论
2.判断为PE后 再判断是xp pe还是2003pe
关于第二点 我跟绝版研究了一晚 最后用Win32DAsm找到了这句:

而Kernel32.dll中最可疑的函数应该是GetVersionEx了 所以想请论坛的大大们帮忙 写个程序把GetVersionEx这条API给Hook住 调用时返回2003的信息 看看是否可行...
如果可行建议老九修正到pelogon.exe里
作者: 123    时间: 2007-8-5 23:07
把kernel32.dll换成2003的行不行?
作者: neo4026    时间: 2007-8-5 23:08
不行 启动蓝屏............
作者: neo4026    时间: 2007-8-5 23:09
其实不是本人不想写.....是真的太菜了 C C++可以说一窍不通....仅仅懂一点点vb
作者: netwinxp    时间: 2007-8-5 23:12
从kernel32.dll只看到导出GetVersion、GetVersionExA和GetVersionExW三个相关的函数
作者: neo4026    时间: 2007-8-5 23:14
都差不多了 总之就是这几个 哪位大大可以代劳下..
作者: netwinxp    时间: 2007-8-5 23:15
就是不知道PE和2003各自返回什么值?
作者: 123    时间: 2007-8-5 23:16
那不用安装程序的分区功能行不行?
作者: 123    时间: 2007-8-5 23:21
原帖由 netwinxp 于 2007-8-5 23:15 发表
就是不知道PE和2003各自返回什么值?

XPE的返回的OSVERSIONINFO是
dwMajorVersion =5
dwMinorVersion =1
dwBuildNumber =2600
dwPlatformId =VER_PLATFORM_WIN32_NT
从MSDN查的
2003的dwMinorVersion =2
作者: neo4026    时间: 2007-8-5 23:21
:L 早说嘛 我刚用vb调试过
不用分区功能也不是不可 但还是感觉残缺
作者: 123    时间: 2007-8-5 23:25
原帖由 neo4026 于 2007-8-5 23:21 发表
:L 早说嘛 我刚用vb调试过
不用分区功能也不是不可 但还是感觉残缺

Hook一个API可麻烦了,要做一个dll,还要做一个dll注入器,那么麻烦还不如先自己分区再安装
作者: netwinxp    时间: 2007-8-5 23:36
GetVersionExA调用GetVersionExW调用GetVersion,如果我们直接修改kernel32.dll的代码,让它强行返回一个固定值(返回值其实就是在EAX里面),不知会不会导致系统出问题(比如蓝屏、死机)?

[ 本帖最后由 netwinxp 于 2007-8-5 11:38 PM 编辑 ]
作者: neo4026    时间: 2007-8-5 23:57
汗...按这么说要彻底搞定xp pe装vista没望了
作者: yyq572    时间: 2007-8-6 00:01
原帖由 netwinxp 于 2007-8-5 11:36 PM 发表
GetVersionExA调用GetVersionExW调用GetVersion,如果我们直接修改kernel32.dll的代码,让它强行返回一个固定值(返回值其实就是在EAX里面),不知会不会导致系统出问题(比如蓝屏、死机)?


高手,跟我的想法一样,把 2003的kernel32.dll代码,移到XP,PE中:lol
作者: 沙漠之子    时间: 2007-8-6 00:09
我一点也不懂 看来帮不上忙了 郁闷中~~~~~~~~~
作者: neo4026    时间: 2007-8-6 00:13
别这么说嘛 沙子老大还是比我牛多了
作者: 沙漠之子    时间: 2007-8-6 00:34
看来要到看雪论坛 寻求帮助了
作者: neo4026    时间: 2007-8-6 00:41
不是说我们论坛没人写得出来 而是写出来怕导致某些问题




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3