找回密码
 注册
X系列官方授权正版
搜索
查看: 10702|回复: 12

[分享] 手动破解系统内核,让32位的系统使用到4G内存

  [复制链接]
发表于 2011-5-26 18:36:28 | 显示全部楼层 |阅读模式
注:破解技术学习自国外某位大神(由于时间较长,名字记不清了),像他致敬



众所周知,xp,vista,小7是不能完全使用4G以上的内存的(vista,win7可以识别但是不能使用),但是同样内核和架构的server2000和server2008却可以支持大内存,这是什么原因,经过调查,发现这是微软人为的限制,针对不同系统的市场定位,一面家用系统绝了server的销路。

既然知道了问题所在,下面就可以着手对内核的破解了,首先需要一些工具:

首先安装 debugging tools for windows,这是微软的一个软件,可放心使用,链接如下(不是吧上传限制是50k,我一直以为是5m):那么附上传送门:http://msdl.microsoft.com/downlo ... _x86_6.11.1.404.msi,网址很正规

然后需要一些其他组件,如windows sdk6.0,visual studio 2008,这些软件太大,不好找,所以我把我们要用到的内核全部拿出来,各位只要放到系统盘://windows/system32下就可以了,我用开发人员的技术保证不会对系统造成任何影响

地址:http://u.115.com/file/dn4jx2db

好了,开始修改(破解)内核吧,前提是有一定的动手能力,至少知道如何备份系统

第一步:在cmd(vista和win7必须用管理员身份运行)中执行“kd -kl”和“lmvm nt”(VISTA 和 WIN7需要先执行“bcdedit -debug on”并重启),回车后返回一堆东西,其中有Image pathImage name,他们对应的值为 ntkrnlpa.exe(Ntkrpamp.exe)或者ntoskrnl.exe(Ntkrnlmp.exe),这是当前系统所使用的内核名,前者是启用PAE模式,后者为未启用PAE模式(PAE:physical memory expan...tion来着,叫物理地址扩展,32位的server和vista win7之所以可以识别,使用4G以上内存,是因为用到了此技术,将内存的寻址扩展到16位),括号里是对应多核的情况(多核直接看括号里的)。

其实上面这一步没多大用,因为不管是使用哪种,他们在system32下的名字都是一样的,就是ntkrnlpa.exe



第二步:修改内核文件,首先需要hexedit这个软件,如这个名字一样,可以将二进制的文件读出来,地址:http://www.hexedit.com/download.htm,官网地址,然后点 “HexEdit 3.0F from Download.com”,免费版本,后面那个是rapidshare网盘下载恐怕需要翻墙了

装好后把ntkrnlpa.exe复制到随便一个方便的地方,并命名为 ntkr128g.exe(名字随便起无所谓),然后用hexedit打开,搜索字符串1:7C 11 8B 45 FC 85 C0 74 0a   字符串2:7C 10 8B 45 FC 85 C0 74 09 把红色标记的部分,就是最后7个字节,改为:B8 00 00 02 00 90 90



第三步:签名,注册:

为什么就不解释了,将修改好后的ntkr128g.exe放入system32文件夹中;
还是用管理员身份打开cmd.exe,输入editbin /release ntkr128g.exe
                                                           makecert -r -ss my -n "CN=My 128G Authority"(引号里"My 128G Authority"可以用任意东西代替)
                                                           signtool sign -s my -n "My 128G Authority" ntkr128g.exe(注意保持签名的一致“My 128G Authority”)
                                                确保这三条语句全部正确执行,如果有错误,就再来一次,但是这里的“My 128G Authority”不能再用,必须换其他名字了,有经验的用户可以在控制台根节点(mmc.exe)添加证书的节点然后在个人证书中进行手动删除。


第四步:添加启动菜单:
                                    用户管理员身份打开cmd,输入bcdedit /copy {current} /d "Windows7 128G Mode",成功的话会返回一个GUID值,记录这个GUID,并运行以下三条命令   
                        bcdedit /set {guid} pae ForceEnable
                        bcdedit /set {guid} kernel ntkr128g.exe
                        bcdedit /set {guid} testsigning on

成功后重启并选择"Windows7 128G Mode"一项,如果蓝屏的话,可能是某些驱动不支持大内存寻址,win7用户可以在计算机--属性--高级系统设置--高级--启动和故障修复设置中,把系统失败,自动重新启动的选项去掉,然后再次进入,查看蓝屏信息,其中会给出一个xx.sys或者xx.dll之类的文件名,该文件即使不支持大内存寻址的驱动文件,进入正常的win7,顺藤摸瓜,找到该硬件,将其禁用即可。

重启再此进入"Windows7 128G Mode",还有问题的话继续重复之前的动作,进入系统成功后会看到“测试模式”,不要尝试输入bcdedit /set  testsigning off 来去掉水印,负责后果自负。


第五步:进入系统成功后,输入BCDedit /set PAE forceenable和bcdedit /set increaseuserva 3072,让你的软件可以使用3G内存


评分

参与人数 1UCC +2 收起 理由
mike521zx + 2 努力吧

查看全部评分

发表于 2011-5-26 20:57:09 | 显示全部楼层
之前看过,众说纷纭,有人说只是看起来破解了能使用4G内存,其实没有
回复

使用道具 举报

 楼主| 发表于 2011-5-26 21:29:44 | 显示全部楼层
回复 accx 的帖子

我现在用的就是我自己破的,完全可以用到4G,LS看到是盗版的吧,你可以自己试一试
回复

使用道具 举报

发表于 2011-5-27 16:51:43 | 显示全部楼层
没那么强的动手能力啊,而且也没有4G内存。
回复

使用道具 举报

 楼主| 发表于 2011-5-27 19:11:22 | 显示全部楼层
回复 TLX099 的帖子

4G内存跑X3TC还是卡
回复

使用道具 举报

发表于 2011-8-17 17:05:38 | 显示全部楼层
我8G内存 64位版WIN I5-2400 CPU+9600GT 开默认设置,X3TC暂时非常流畅。包括那个在原来AMD三核机器上非常卡的记录。也比较流畅。

开1000%的快进,也暂时没丢帧。
回复

使用道具 举报

发表于 2011-10-27 22:38:20 | 显示全部楼层
…………直接用64bit不就好了
回复

使用道具 举报

 楼主| 发表于 2011-10-28 12:34:12 | 显示全部楼层
本帖最后由 侧耳倾听 于 2011-10-28 12:35 编辑
Evolutions99 发表于 2011-10-27 22:38
…………直接用64bit不就好了


有些东西不兼容,比如32位的oracle,各种驱动的兼容问题等
回复

使用道具 举报

发表于 2011-10-28 13:43:10 | 显示全部楼层
至今还是2G内存的老爷机
回复

使用道具 举报

发表于 2012-2-29 20:24:53 | 显示全部楼层
“kd -kl”不是内部或外部命令
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|DeepTimes.NET 太空游戏站