SYZYGIT

软件的限制和其破解方法

[本文中涉及的一些知识可能会对计算机的正常操作产生影响,请做好注册表和组策略的备份,谨慎使用。]

[本文仅供学习交流之用切勿用于非法途径!]

 

大学生活丰富多彩,打游戏自然也是寝室娱乐项目中必不可少的。前些天临近考试,寝室长为了让大家安心复习迎考,在网上搜了半天竟然把游戏给封了,当室友们打开游戏时提示 “本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系。”在紧张的学习生活中,稍微打打游戏还是需要的,于是他们找到了我。经过我的一番打量和尝试,我终于知道了其中的奥秘。在下文中,笔者将用具体事例带您了解Windows XP客户端的软件限制策略和映像劫持(Image File Execution Options),当然在开始之前,先让我们来了解一些相关知识。

一、              映像劫持以及其基本原理

所谓的IFEO就是Image File Execution Options,位于注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImage File Execution Options。

Windows XP系统在试图执行一个从命令行调用的可执行文件运行请求时,先会检查运行程序是不是可执行文件,如果是,IFEO才会检查格式,然后再检查该可执行文件是否存在。如果不存在的话,它会提示系统找不到文件或者是“指定的路径不正确等等。

二、        散列的含义及其算法

Hash,一般翻译作”散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。了解了hash基本定义,就不能不提到一些著名的hash算法,MD5 和 SHA1 可以说是目前应用最广泛的Hash算法,而它们都是以 MD4 为基础设计的。MD5(RFC 1321)是Ronald Rivest于1991年对MD4的改进版本。而SHA-1基于MD5,MD5又基于MD4。MD5 Hash算法的”数字指纹”特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。

三、        Windows XP客户端的软件限制策略

Microsoft Windows XP Professional 和 Microsoft Windows Server 2003 提供了“软件限制策略”功能,管理员可用来控制软件在本地计算机上运行的能力。通过此功能,管理员可以防止用户运行未经授权的软件,并提供了其他保护措施以防病毒和特洛伊木马程序的攻击。

在了解完一些相关知识后,让我们开始具体了解一下如何使用软件限制策略和映像劫持来限制指定程序的运行和其破解方法。

[限制方法]

接着上面所说的,笔者经过一番打量和尝试后终于知道了限制原理。限制分三部分进行:

1、组策略中的“软件限制策略”

2、组策略中的“不要运行指定的windows应用程序”

3、注册表中的映像劫持

让我们一次来看看究竟是怎样限制一个应用程序的运行的。

首先让我们按开始->运行->运行,输入组策略命令“gpedit.msc”{输入注册表编辑器“regedit”[注册表程序先开着以备后用]},然后确定。此时我们会看到如图1所示的组策略窗口。

然后进入计算机配置->Windows设置->安全设置,在安全设置下找到软件限制策略,第一次使用右键选择“创建新的策略”,会看见多出“安全级别”和“其他规则”两个文件夹,当然如果不是第一次使用或者有的软件已经使用了此策略则不必创建新的策略,随后选择“其他规则”。如图2所示。

接着在右侧任意处右键选择“新建散列规则”,点“浏览”找到所要禁用的软件的可执行文件,安全级别选择“不允许”,按“确定”即可。我们拿FC为例,当然,如果为了限制后别人不能轻易破解,可以运用同样的方法添加regedit.exe mmc.exe gpedit.msc cmd.exe msconfig.exe taskmgr.exe regedit.com mmc.com cmd.com msconfig.com taskmgr.com等。如图3所示

如果这时候我们运行这个程序,系统就会提示“由于一个软件限制策略的阻止,Windows无法打开此程序。要获取更多信息,请打开事件查看器或与系统管理员联系。

至此为止,我们组策略中的“软件限制策略”部分已经大功告成,让我们进入下一步。

首先让我们进入用户配置->管理模板->系统,右侧找到“不要运行指定的windows应用程序”。如图4所示。

然后双击打开,选择已启用->显示->添加,加入要禁止的软件名(当然我们也要把上面提到的regedit.exe mmc.exe gpedit.msc cmd.exe msconfig.exe taskmgr.exe regedit.com mmc.com cmd.com msconfig.com taskmgr.com等添加进去)。如图5所示。

好了,这个时候,限制软件运行的绝大部分已经完成,此时运行程序就会提示“本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系。”如图6所示。

现在让我们来对程序进行最后一步限制。这里我们要用到映像劫持技术。

让我们调用之前已经打开的注册表编辑器,进入HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImageFileExecutionOptions,添加一个项,命名为要禁用的软件名包括regedit.exe mmc.exe gpedit.msc cmd.exe msconfig.exe taskmgr.exe等(当然为防止修改后缀名运行,再加入regedit.com mmc.com cmd.com msconfig.com taskmgr.com等)。如图7所示。

终于完成了所有的限制工作了,这时候想一时半会打开受限制的程序已经不是那么简单咯!

[破解方法]

因为之前我们已经知道了如何限制的,所以我们了解到regedit, msconfig, gpedit.msc等已经被限制,所以我们没有办法通过逆向操作完成解除限制。所以我们要采取一点手段。

1、开始->运行->%systemroot%system32,用搜索功能把找到的mmc.exe和taskmgr.exe复制后保存至另一位置(例如您可以把taskmgr.exe复制至D盘根目录下,把mmc.exe复制一份至桌面上)。

2、改名桌面上的mmc.exe为taskmgr.exe

3、开始->运行->%systemroot%system32dllcache,把桌面上的taskmgr.exe复制一份至该文件夹覆盖。

4、开始->运行->%systemroot%system32,一样把桌面上的taskmgr.exe复制一份覆盖至该文件夹。

注意:如果3和4在复制过程中出现文件保护窗口可以直接取消其保护提示。

5、右击任务栏->任务管理器,现在出现的不是任务管理器而是控制台mmc了。

6、在MMC窗口中->文件->添加/删除管理单元->添加->双击“组策略对象编辑器” ->完成->关闭->确定。如图8所示。

7、现在展开“本地计算机”策略->用户配置->管理模块->系统->只运行许可的Windows应用程序->修改为“已禁用”或“未配置”就可以了。

8、保存以上的配置为gpedit.msc然后把该文件复制到%systemroot%system32替换原有文件。

9、把刚才保存在D盘根目录下的taskmgr.exe仿第3、4步顺序恢复回%systemroot%system32dllcache和%systemroot%system32文件夹。

这时候我们发现再次运行限制的程序提示已经不一样了,所以我们可以通过更改文件名来暂时运行程序。当然这个方法是不彻底的,让我们进行下一步操作来实现完美解禁。

开始->运行->regedit,打开“注册表编辑器”,进入HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImageFileExecutionOptions,把刚才添加的受限软件的项目如:VirtuaNESex.exe regedit.exe mmc.exe gpedit.msc cmd.exe msconfig.exe taskmgr.exe regedit.com mmc.com cmd.com msconfig.com taskmgr.com等删除干净即可。

联系电话
QQ客服
  • Syzygiter 点击这里给我发消息
销售邮箱
  • 销售邮箱
Skype
  • Syzygiter
关注微信
  • 官方微信公众号