无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 14304|回复: 30
打印 上一主题 下一主题

[发布] 【M2-Team】Windows 10 PE WOW64支持补丁

    [复制链接]
跳转到指定楼层
1#
发表于 2015-10-2 11:55:58 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Mouri_Naruto 于 2015-10-2 15:04 编辑

感谢yamingw大大的SetWoW64工具(http://bbs.wuyou.net/forum.php?mod=viewthread&tid=371490

我在他的基础上做了以下改进
1.补丁退出后内核对象不会消失(即不需要后台运行)
2.减小程序大小(原作者程序大小229KB受够了!本工具只要不到5KB)
3.去掉Kernel32,User32等Windows子系统dll的依赖(我的依赖只有ntdll;所以改成native程序也是很容易的)

但是也有遗憾,由于能力限制,没有实现原作者帖子fryquez的回复(is it possible to also add KnownDlls32 Sections?),希望有大牛可以实现

PS:附WOW64被“封杀”的原因
我今天发现了一个令人震惊的消息:原来PE可以用WOW64是Bug;微软其实在5年前的Win7(甚至9年前的Vista)中的smss(文件版本是6.1.7600.16385)的汇编代码中就有封杀PE下运行WOW64的判断

  if ( !MiniNTBoot && !_wcsicmp(v8, L"DllDirectory32") )
  {
    v9 = (__int64)&SmpKnownDllPath32;
    return SmpInitializeKnownDllPath(v9, v7, v6);
  }

上述代码的逻辑即如果MiniNTBoot返回false且_wcsicmp(v8, L"DllDirectory32") 返回0(即注册表键值找到)再进行内核区对象创建


比如我随机抽取的64位8pe就没有WOW64内核对象,即没有KnownDll32目录对象

Win10应该是修复了Windows子系统的一个Bug(估计是增加了对内核对象的判断;如果存在则支持WOW64);所以Win10PE“和谐”WOW64其实只是为了修复漏洞

为何要封杀wow64? 因为微软在WinPE 1.0出来时就明确表明不能把PE当作正常系统使用。

本工具是开源的(代码附在压缩包内,使用VS2015编译);附源代码使用协议(MIT)
The MIT License (MIT)

Copyright (c) 2015 M2-Team

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

PS:如果觉得这个工具不错,可以向M2-Team捐赠(支付宝账号: wxh32lkk@live.cn)
下载地址(包含源代码) Win10WoW64Support With Source.zip (379.64 KB, 下载次数: 487)

使用方法:直接运行即可

PS:打个小广告,NSudo.NET(NSudo 4.0)正在开发中,敬请期待

Mouri_Naruto@M2-Team

PS:M2-Team官方论坛对应帖子地址:http://innoalpha.ga/thread-16-1-1.html

评分

参与人数 8无忧币 +36 收起 理由
chiannet + 5 赞一个!
信长野望 + 5 赞一个!
WAIGO + 5 很给力!
阿弥陀佛 + 5 很给力!
何亚红 + 1 很给力!
fish2006 + 5 赞一个!
fkltd-123 + 5 神马都是浮云
freesoft00 + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2015-10-2 11:56:17 | 只看该作者
二楼我的
回复

使用道具 举报

3#
发表于 2015-10-2 12:01:23 | 只看该作者
竟然在这里也见到毛利

点评

么么哒  详情 回复 发表于 2015-10-2 12:05
表示我最近才来无忧(话说谢谢你了能第一个帮我顶贴)  发表于 2015-10-2 12:03
回复

使用道具 举报

4#
发表于 2015-10-2 12:05:11 | 只看该作者
2012kkabc00094 发表于 2015-10-2 12:01
竟然在这里也见到毛利

么么哒
回复

使用道具 举报

5#
发表于 2015-10-2 12:07:38 | 只看该作者
有趣,来支持下
回复

使用道具 举报

6#
发表于 2015-10-2 12:09:31 | 只看该作者
呵呵
          ——————来自PCBeta
回复

使用道具 举报

7#
发表于 2015-10-2 14:59:40 | 只看该作者
补丁退出后内核对象不会消失,这是一个新的进步,楼主也是一个牛人,脾气也有一股牛脾气,支持楼主出更多牛产品!

点评

谢谢,我会付诸行动的  发表于 2015-10-2 15:03
回复

使用道具 举报

8#
发表于 2015-10-2 15:09:43 来自手机 | 只看该作者
哈哈哈哈,不错!
          ——————来自PCBeta
回复

使用道具 举报

9#
发表于 2015-10-2 17:56:02 | 只看该作者
支持楼主,Mark作个记号
回复

使用道具 举报

10#
发表于 2015-10-2 23:39:48 | 只看该作者
不懂,只会用现成的PE,很给力的样子,顶!!!!!!
回复

使用道具 举报

11#
发表于 2015-10-3 09:40:02 | 只看该作者
Only translate with bing
1. patch kernel objects do not disappear after the exit (which does not need to be running in the background)
=> It means "Do not need load at start with pecmd"?
3. remove the Kernel32,User32 DLL to the Windows subsystem relied heavily on (I rely on only ntdll; so I changed it into native programs is very easy)
=> It means "It only needs ntdll"?
Can you explain more? Thanks!

点评

1. patch kernel objects do not disappear after the exit (which does not need to be running in the background) => It means "Do not need load at start with pecmd"? I mean, this tool will not run in  详情 回复 发表于 2015-10-3 10:58
回复

使用道具 举报

12#
发表于 2015-10-3 10:21:10 | 只看该作者
看来这个更进步了,先试用。
回复

使用道具 举报

13#
 楼主| 发表于 2015-10-3 10:58:48 | 只看该作者
2012mshs 发表于 2015-10-3 09:40
Only translate with bing
1. patch kernel objects do not disappear after the exit (which does not ne ...

1. patch kernel objects do not disappear after the exit (which does not need to be running in the background)
=> It means "Do not need load at start with pecmd"?

I mean, this tool will not run in the background.

You can load this tool by all win64 apps(So you can use pecmd to load it)

3. remove the Kernel32,User32 DLL to the Windows subsystem relied heavily on (I rely on only ntdll; so I changed it into native programs is very easy)
=> It means "It only needs ntdll"?

Yes.
回复

使用道具 举报

14#
发表于 2015-10-3 13:22:18 | 只看该作者
试了,确实不驻留内存!
回复

使用道具 举报

15#
发表于 2015-10-3 15:19:45 | 只看该作者
感觉用yamingw大大的SetWoW64工具很不错。感觉主要是要稳定高效,是否驻留内存并不是很重要

点评

有道理。若能同样稳定高效,当然能不驻留内存更好  详情 回复 发表于 2015-10-3 17:31
在他的基础上实现退出了补丁内核对象依旧保留这样反而更加稳定(要是手贱把补丁驻留进程给停掉后……出现的问题会让人手忙脚乱)  发表于 2015-10-3 17:21
回复

使用道具 举报

16#
发表于 2015-10-3 15:34:17 | 只看该作者
不错哦,很给力啊!!!
回复

使用道具 举报

17#
发表于 2015-10-3 17:31:36 | 只看该作者
shuren 发表于 2015-10-3 15:19
感觉用yamingw大大的SetWoW64工具很不错。感觉主要是要稳定高效,是否驻留内存并不是很重要

有道理。若能同样稳定高效,当然能不驻留内存更好
回复

使用道具 举报

18#
发表于 2015-10-3 17:40:34 | 只看该作者
>>但是也有遗憾,由于能力限制,没有实现原作者帖子fryquez的回复

不要妄自菲薄!其实楼主的能力什高,希望再接再厉,写出更多高水平的好作品……

点评

同意, 如果能实现fryquez说的就更好 其实是不是添加回注册表项就可以了?  详情 回复 发表于 2015-10-3 19:27
回复

使用道具 举报

19#
发表于 2015-10-3 19:27:32 | 只看该作者
本帖最后由 andos 于 2015-10-3 19:44 编辑
2010WAIGO 发表于 2015-10-3 17:40
>>但是也有遗憾,由于能力限制,没有实现原作者帖子fryquez的回复

不要妄自菲薄!其实楼主的能力什高, ...


同意,
如果能实现fryquez说的就更好

点评

注册表这些键值都有;最关键的是要给那些键值提到的dll创建好内存区对象(只是奇怪的是NtCreateSection总是执行失败(汗))  详情 回复 发表于 2015-10-4 10:09
回复

使用道具 举报

20#
 楼主| 发表于 2015-10-4 10:09:25 | 只看该作者
andos 发表于 2015-10-3 19:27
同意,
如果能实现fryquez说的就更好

注册表这些键值都有;最关键的是要给那些键值提到的dll创建好内存区对象(只是奇怪的是NtCreateSection总是执行失败(汗))
回复

使用道具 举报

21#
发表于 2015-10-4 10:17:06 | 只看该作者
现在这样,已经很满足了.
日常应用,都没问题了
回复

使用道具 举报

22#
发表于 2015-10-12 23:00:21 | 只看该作者
不错,收下备用了。
回复

使用道具 举报

23#
发表于 2015-10-12 23:24:28 | 只看该作者
能夠分享~就是一種成就~值得感謝!
回复

使用道具 举报

24#
发表于 2015-10-13 11:20:48 | 只看该作者
恭喜取得新进展
回复

使用道具 举报

25#
发表于 2018-8-31 11:16:40 来自手机 | 只看该作者
請問有教學嗎?我直接把應用放進PE運行後,運行32bits的應用還是不行啊!
回复

使用道具 举报

26#
发表于 2020-2-28 20:29:03 | 只看该作者
谢谢分享
回复

使用道具 举报

27#
发表于 2022-10-26 13:25:55 | 只看该作者
请问我运行了,没反应,是还有什么依赖的东西么
回复

使用道具 举报

28#
发表于 2022-11-1 21:08:48 | 只看该作者
Windows 10 PE WOW64支持补丁  
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 19:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表