无忧启动论坛

标题: 32位可执行文件4GB补丁程序 [打印本页]

作者: chishingchan    时间: 2019-10-24 16:17
标题: 32位可执行文件4GB补丁程序
本帖最后由 chishingchan 于 2019-10-24 18:16 编辑

4GB Patch

Current Version: 1.0.0.1

I originally wrote this tool for a friend of mine who needed it. This very little tool patches x86 executables in order to let them have 4GB (instead of only 2) of virtual memory on x64 platforms. This tool comes very handy for applications which need a great amount of virtual memory like games, 3D renderization, multimedia etc. To gain these 2GB, you just have to use this tool to patch the executable (*.exe file) of the software you want to have these additional GBs of virtual memory. It can be used by clicking on it and choosing the file or through command line (e.g.: “4gb_patch file.exe”). It automatically creates a backup copy of the original executable.
Why things are this way on x64 is easy to explain. On x86 applications have 2GB of virtual memory out of 4GB (the other 2GB are reserved for the system). On x64 these two other GB can now be accessed by 32bit applications. In order to achieve this, a flag has to be set in the file’s internal format. This is, of course, very easy for insiders who do it every day with the CFF Explorer. This tool was written because not everybody is an insider, and most probably a lot of people don’t even know that this can be achieved. Even I wouldn’t have written this tool if someone didn’t explicitly ask me to.

Download the 4GB Patch

我最初是为需要它的我的朋友编写此工具的。这个非常小的工具会修补 x86 可执行文件,以使它们在 x64 平台上具有 4GB(而不是只有 2GB)的虚拟内存。对于需要大量虚拟内存的应用程序(例如游戏,3D渲染,多媒体等),此工具非常方便。要获得这 2GB 内存,您只需使用此工具即可修补软件的可执行文件(* .exe文件) 希望拥有这些额外的 GB 虚拟内存。可以通过单击它并选择文件或通过命令行来使用它(例如:“ 4gb_patch file.exe”)。它会自动创建原始可执行文件的备份副本。
为什么在 x64 上采用这种方式很容易解释。在 x86 上,应用程序具有 4GB 之外的 2GB 虚拟内存(其他 2GB 为系统保留)。在 x64 上,这 32 GB 的其他两个 GB 现在可以被 32 位应用程序访问。为了实现这一点,必须以文件的内部格式设置一个标志。对于每天使用 CFF Explorer 执行此操作的内部人员来说,这当然非常容易。编写此工具是因为并非每个人都是内部人员,而且很可能很多人甚至都不知道这是可以实现的。如果有人没有明确要求我,甚至我也不会写这个工具。

4gb_patch.zip (20.96 KB, 下载次数: 85)






作者: 422450162    时间: 2019-10-24 16:34
支持!!!!
作者: 13505008180    时间: 2019-10-24 16:59
会显示测试模式吗?Readyfor 4GB用这个显示测试模式
作者: 20090101    时间: 2019-10-24 18:07
怎么用的?我都搞不明白呢
作者: dlwfdlikuan    时间: 2019-10-24 18:20
密切关注!!!
作者: liujun2000    时间: 2019-10-24 19:38
谢谢 共享
作者: @勺子    时间: 2019-10-24 19:39
支持
作者: cfc1680    时间: 2019-10-24 19:44
感谢分享了
作者: 50070299    时间: 2019-10-24 19:52
没有用过,期待楼主的作品
作者: 董大    时间: 2019-10-24 20:15
谢谢楼主的分享,辛苦啦
作者: 2010feicool    时间: 2019-10-24 20:25
试试看吧,感谢分享
作者: 皈依    时间: 2019-10-24 21:00
感谢楼主的分享精神!
作者: 2011寂寞泪    时间: 2019-10-24 21:31
xp。。
作者: 都市浪子666    时间: 2019-10-24 23:06
很不错的软件。确实 有提升内存的使用量
作者: hu.man    时间: 2019-10-25 09:57
感谢楼主的分享精神!
作者: v2excoc    时间: 2019-10-25 10:04
20090101 发表于 2019-10-24 18:07
怎么用的?我都搞不明白呢

要工具发挥效用,有很多限定条件的。
1. 你只能用winxp 32位等电脑系统,新版win7 64位是无效的,微软自动打开了内存限制。
2. 工具修改原理是动了一个EXE的字节,让系统知道exe需要更多的内存。如果程序作者一开始就开启了(微软编译器里可以手工设置,默认是关闭的),那么补丁就是无效的。
3. 本质上还是突破不了单进程内存4G的限制,这是32位程序硬性限制,再怎么魔改都没用。最好方法还是换x64的程序。
作者: chishingchan    时间: 2019-10-25 11:43
v2excoc 发表于 2019-10-25 10:04
要工具发挥效用,有很多限定条件的。
1. 你只能用winxp 32位等电脑系统,新版win7 64位是无效的,微软自 ...

讲的很在理,但是没有说服力。因为缺少图片截图!
作者: v2excoc    时间: 2019-10-25 13:48
chishingchan 发表于 2019-10-25 11:43
讲的很在理,但是没有说服力。因为缺少图片截图!

有一种特殊工具是可以做到让程序用到大内存,原理有点复杂,是Hook Dll技术,接管程序每一个内存分配指令,开多个子进程,把每片内存都分到子进程里(每个子进程管理2G内存,开4个子进程,就可以管理8G大内存)。
再通过Windows提供的进程之间内存共享方式,把临时不用的内存块交换到别的进程里。主程序需要读取时,再交换回来。
流程有点复杂,有点类似Linux下的SWAP内存管理机制,性能也一般,没办法让每一个程序都流畅运行。但最终效果,的的确确能让普通的32位程序,用多开子进程分担内存方式,来突破4G限制,实测用上8G内存是没问题的。
作者: chibuzhu    时间: 2019-10-25 13:57
xp没人用了吧
作者: v2excoc    时间: 2019-10-25 14:02
chibuzhu 发表于 2019-10-25 13:57
xp没人用了吧

有的,很多办公室电脑都在用xp。又不玩游戏,能用office,能用QQ,能上网,就算是一个称职的电脑。
作者: jeep2700    时间: 2019-10-31 08:50
这个先收藏 , 感谢分享.
作者: 妃咲的老公    时间: 2024-4-14 12:08
感谢分享




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