liberize 发表于 2015-10-15 23:41:22

PECMD.INI CMPS/CMPA 加密破解方法

本帖最后由 liberize 于 2015-10-18 02:22 编辑

前言:

最近在找一个好用的 PE,找到了阿弥陀佛的 Win7PE,符合我的需求,然而当我想定制一下的时候,却发现里面的 INI 脚本做了加密。
发信请求解密,没有得到回复,于是自己写了个小工具,解出了其中的 INI 脚本。

原理:

已开源在 GitHub:https://github.com/liberize/pecmd-decrypt,其实没有几行代码。

其实准确说“解密”无关,目前之所以没有破解只是因为算法没公开,我也没有去研究它的算法,
反正不管怎样,最后肯定要解出来才能执行,所以我在执行的地方替换了它调用的系统 API,从 API 参数里面拿到了解出来的脚本。

鉴于 mdyblog 已经做出了反应,相信他已经知道我 hook 的是哪个 API,没错,就是 MultiByteToWideChar。
pecmd 执行每一行的时候会将其转为 unicode 编码,便会调用上面的 api,过滤一下就可以得到原始内容。

理论上此方法适用于使用所有加密方式加密的 ini,不限于 CMPS/CMPA。

用什么版本的 pecmd.exe 其实无所谓,但是最近的 m 版 pecmd,启动时会执行一个内置脚本,这个脚本的内容也会出现在生成的 ini 文件中,
为了避免混在一起无法区分,请使用不会执行内置脚本的 pecmd,谁有的话欢迎提供(我就不传了,附件只能传 500k)。
判断方法:用一个没有加密的脚本去跑,如果解出来是一样的,那么就不会执行内置脚本。

步骤:

本人比较懒,所以直接发布简陋的命令行工具,没有做成 GUI 工具。以下步骤在 PE 下进行。

1. 先得到加密的 pecmd.ini,如果内置于 pecmd.exe,请用 res hacker 提取
2. 找一个不会执行内置脚本的 pecmd.exe,32/64 位其实无所谓,只要 PE 能运行就可以
3. 下载附件,使用与 pecmd.exe 对应的版本,比如 pecmd.exe 是 64 位的就使用 x64 文件夹中的版本
4. 将 1、2 里面的 pecmd.exe 和 pecmd.ini 放在 x86/x64 这个目录下
5. 打开终端,运行 DetourHook.exe "pecmd.exe pecmd.ini" DetourHookDll.dll
6. 在当前目录生成 original.ini,便是解密后的 pecmd.ini



工具:

10-16 更新: 修复了乱码等若干 bug,生成的原始 ini 更加准确

http://pan.baidu.com/s/1hquEuv6 密码:hnjw

ge 发表于 2017-7-28 07:26:05

xmzhqw 发表于 2017-7-24 16:45
昨天试了你的,可以弄出一个代码,但不是 pecmd.ini。我以为成功了,但后来才发现不是。不知道什么原因。 ...

对于加密的没有必要用!好用的pe多了!当然可以用自己编写的PECMD.INI去调用原来的PECMD.INI!太折腾!不如找一个自己觉得好一点的pe用!或者可以自己少量修改一下就可以的!

my9823 发表于 2015-10-17 12:17:54

m大改进算法,估计那些盈利的pe,为系统添加垃圾的pe们又笑了,从pe作者角度希望自己的pe不被修改,当然盈利者的这种想法更加强烈,但用户角度最痛恨这种盈利性的pe,真是两边不讨好!其实我无所谓,因为我已经很少使用pe,就算是用只是帮人家装一下系统而已,大不了直接用安装盘的iso写入U盘连pe都省了!个人观点,不吐不快,如有得罪之处,就当我放了个屁!

hhkj2015 发表于 2015-12-25 14:45:01

求破解这个配置




2012hzy6420 发表于 2015-10-15 23:42:04

xxfx谢谢分享:dizzy:

赤木刚宪 发表于 2015-10-16 00:03:06

LZ是通过日志判断?貌似不科学,对新版PECMD也无效

阿弥陀佛 发表于 2015-10-16 00:11:12

牛!我的PE被拿来开刀了。还好没有恶意代码{:3_141:}
软件先收藏!

阿弥陀佛 发表于 2015-10-16 00:14:25

赤木刚宪 发表于 2015-10-16 00:03
LZ是通过日志判断?貌似不科学,对新版PECMD也无效

应该不是通过日志啊。软件还没测试,但是看截图跟我写的配置一样一样滴。牛逼!m大要哭了

liberize 发表于 2015-10-16 00:17:32

赤木刚宪 发表于 2015-10-16 00:03
LZ是通过日志判断?貌似不科学,对新版PECMD也无效

其实准确说“解密”无关,目前之所以没有破解只是因为算法没公开,我也没有去研究它的算法,反正不管怎样,最后肯定要解出来才能执行,所以我在执行的地方替换了它调用的系统 API,从参数里面拿到了解出来的脚本。

liberize 发表于 2015-10-16 00:19:07

阿弥陀佛 发表于 2015-10-16 00:11
牛!我的PE被拿来开刀了。还好没有恶意代码
软件先收藏!

{:3_158:}{:3_150:}

xzf680 发表于 2015-10-16 00:20:35

感谢分享,辛苦了

1400700226 发表于 2015-10-16 00:23:03

阿弥陀佛 发表于 2015-10-16 00:11
牛!我的PE被拿来开刀了。还好没有恶意代码
软件先收藏!

哈哈,不知道大神为啥要加密?这样不是无忧风格啊。。。。。。

阿弥陀佛 发表于 2015-10-16 00:24:10

liberize 发表于 2015-10-16 00:17
其实准确说“解密”无关,目前之所以没有破解只是因为算法没公开,我也没有去研究它的算法,反正不管怎样 ...

要是这样的话,那就算整个pecmd.exe压缩加壳,应该也可以拿到脚本吧

liberize 发表于 2015-10-16 00:30:51

阿弥陀佛 发表于 2015-10-16 00:24
要是这样的话,那就算整个pecmd.exe压缩加壳,应该也可以拿到脚本吧

是的,不过其实这个破解的方法封住也不难

阿弥陀佛 发表于 2015-10-16 00:30:54

1400700226 发表于 2015-10-16 00:23
哈哈,不知道大神为啥要加密?这样不是无忧风格啊。。。。。。

这个么,在做这个win7PE之前我也从来不加密。但是无忧不是有段时间被某些人搅浑了。还有人就拿别人的pe随便改点皮毛就吹得天花乱坠。某些臭名昭著的个人或网站,甚至加了恶意软件。。。。我想有点水平的人配置文件完全可以自己写。这也是一种学习啊。而且我的pe也留了pecmd.ini最为diy的接口。

liberize 发表于 2015-10-16 00:35:10

阿弥陀佛 发表于 2015-10-16 00:30
这个么,在做这个win7PE之前我也从来不加密。但是无忧不是有段时间被某些人搅浑了。还有人就拿别人的pe随 ...

其实我只是想把世界之窗换成比较小的 opera,虽说直接删掉世界之窗的文件就可以了,可是我有比较严重的洁癖 + 强迫症,不把世界之窗的代码删掉就浑身不爽,所以。。。

阿弥陀佛 发表于 2015-10-16 00:39:30

liberize 发表于 2015-10-16 00:30
是的,不过其实这个破解的方法封住也不难

那个7pe还有些问题。dism好像不完整。可能因为我添加的驱动不适合,有些人反应找不到磁盘。还有一个U盘不能自动分配盘符,这个只要kill explorer就行了,这句忘了。配置文件后面那段代码就是定时检测插入新磁盘就自动kill explorer的。本来想等问题多一点再作更新的。
如果你需要,我再传一个没有软件没有集成驱动的版本。

阿弥陀佛 发表于 2015-10-16 00:57:20

渣网速。上传限制得只有500kb/s。。传完了
链接: http://pan.baidu.com/s/1ntnI88T 密码: mmnq

gylgw 发表于 2015-10-16 06:28:16

本帖最后由 gylgw 于 2015-10-16 06:59 编辑

这个比较牛啊,谢谢楼主分享。

但是好像对我现在所用的PE解密不了,解出来是乱码。而且在RH中怎么判断哪个是PECMD呢?

tegl 发表于 2015-10-16 07:12:16

厉害,感谢分享宝贵经验

chiannet 发表于 2015-10-16 07:41:39

liberize 发表于 2015-10-16 00:17
其实准确说“解密”无关,目前之所以没有破解只是因为算法没公开,我也没有去研究它的算法,反正不管怎样 ...

又一牛人。

赤木刚宪 发表于 2015-10-16 07:49:12

chiannet 发表于 2015-10-16 07:41
又一牛人。

我测试解密失败哦

notepad 发表于 2015-10-16 08:19:32

给加密的脚本解密成功,感谢分享!

skype2015 发表于 2015-10-16 08:30:21

感谢分享

chiannet 发表于 2015-10-16 09:12:15

赤木刚宪 发表于 2015-10-16 07:49
我测试解密失败哦

我测试成功了

bowpot 发表于 2015-10-16 09:46:30

不学习就跟不上了

2012jc天马行空 发表于 2015-10-16 10:45:02

chiannet 发表于 2015-10-16 09:12
我测试成功了

同样成功

liberize 发表于 2015-10-16 10:58:20

chiannet 发表于 2015-10-16 09:12
我测试成功了

不能解的请贴上你们的 PECMD.EXE,我看一下

liberize 发表于 2015-10-16 11:00:54

gylgw 发表于 2015-10-16 06:28
这个比较牛啊,谢谢楼主分享。

但是好像对我现在所用的PE解密不了,解出来是乱码。而且在RH中怎么判断哪 ...

你找的第二张图这个就是啊,一般比较大的资源,并且在开始有 CMPA 字样应该就是了
第三张图似乎只有注释乱码?也许原来的脚本就是这样子的

liberize 发表于 2015-10-16 11:03:10

赤木刚宪 发表于 2015-10-16 07:49
我测试解密失败哦

不能解的请贴上你们的 PECMD.EXE,我看一下

青青草 发表于 2015-10-16 11:09:01

本帖最后由 青青草 于 2015-10-17 00:17 编辑

liberize 发表于 2015-10-16 11:03
不能解的请贴上你们的 PECMD.EXE,我看一下

麻烦您帮忙看一下,谢谢了!

liberize 发表于 2015-10-16 11:12:58

青青草 发表于 2015-10-16 11:09
麻烦您帮忙看一下,谢谢了!

你这个 PECMD 有点丧心病狂啊,资源里面放满了脚本,有加密的也有没加密的

青青草 发表于 2015-10-16 11:15:32

liberize 发表于 2015-10-16 11:12
你这个 PECMD 有点丧心病狂啊,资源里面放满了脚本,有加密的也有没加密的

呵呵,难怪找不到。谢谢了!
页: [1] 2 3 4 5 6 7 8
查看完整版本: PECMD.INI CMPS/CMPA 加密破解方法