改写 class 方法逻辑,破解魔方二代加密的某 php 源码
发布于 作者:苏南大叔 来源:程序如此灵动~前不久,苏南大叔得到了一份某系统的源码,功能上写的还是蛮有意思的。不过,有些功能上的限制。出于学习其思路的目的,苏南大叔研究了一下它的源码,研究过程中,获益匪浅。
本文中,虽然苏南大叔会描述如何破解该系统的过程,但是仅仅叙述一下相关思路,并不会涉及该php
系统的名称及关键性的破解代码。当然关于这款源码的加密方式:魔方二代crane
加密。这个也是苏南大叔自己瞎猜的,也许不是呢?对吧?哈哈。
所以,大家还是有钱的帮个钱场,支持一下正版软件。
被加密的php
文件描述
因为该php
源码:“不需要任何的加密扩展,就可以直接运行”。所以,这个php
代码的加密方式,目测为php
混淆级别的加密概念。本以为可以通过关键函数hook
手工diy
逆向出来,但是仔细查看后,苏南大叔居然发现有些束手无策的感觉。
后来通过关键词VIRTUAL MACHINE ERROR : Access violation at address
,找到了这个加密算法的源头是魔方加密
,后来又通过某专业破解网站得知,该源码的加密方式是魔方二代crane
的加密算法。魔方加密的网站地址如下,相关文件都是通过在线加密的。
关于魔方二代
的加密,看了网上的几个相关帖子。看帖主的poc
,都把汇编搬出来了,苏南大叔果断放弃。估计以苏南大叔的汇编水平,这东西一个月都搞不出来,所以只能另辟蹊径。
通过对加密代码的格式化分析,大概看到了这个文件里面一共有两个类:一个是主体权限验证相关的类A
,另外一个是dede
模板的第三方解析类。类定义及类方法都是可以清晰看到的,但是方法的主体逻辑都是未知数。大概类似是这样的结构:
class A{
function check_auth(){
//下面是一堆密文
//¥#!@#¥#@……%¥……%¥#……
//`VIRTUAL MACHINE ERROR : Access violation at address
}
}
class dede{
//.....
}
如何修改被加密的php
文件
这些php
加密文件都有个普遍的共同特点,那就是编码未知
。用普通常见的编辑器打开,都会提示编码错误之类的。如果强行打开,并且修改文件的内容的话,就会破坏文件主体,导致更加严重的后果。
那么修改的方式:苏南大叔给出两种方式,大家可以试试。
- 使用
hex
十六进制编辑器,比如notepad++
的hex
编辑器,或者ultraedit
等,在十六进制的基础上,进行修改。而用常见的任何编辑器修改后,都极有可能会破坏程序体,导致运行页面直接显示fatal
错误。 - 或者使用自己diy的脚本,进行
replace
修改或者append
修改。比如下面的是苏南大叔修改上述文件的时候,自己写的php
脚本。
如何控制php
逻辑的走向
掌握了文件修改的方法之后,就是具体的修改方案的问题了。方案要看这个加密文件的自身情况了。
其实这个魔方二代crane
加密后的文件,对于苏南大叔来说,如果想要还原,确实难度很大。但是,苏南大叔认为,这个算法也存在着一定的问题,就是类的主体都是暴露在外面的,只是方法内容被实力加密了。那么破解的思路可能就来了:想办法改写这个类。
苏南大叔先修改了加密文件的文件名,然后通过修改文件主体的方式,给这个加密文件的class
类,加了一个namespace heiwu
。
加密的两个类被关进了小黑屋heiwu
之后,在新建的<原文件名>.php
,通过类继承的方式,继承上述被改写的原版class
,进而改写对应的方法。(魔方加密会保留相关方法名和类名....)
更高级简单的解密方法
市面上流出的魔方二代解密的程式,大家就不要实验了。或者说,您做好了思想准备再执行吧。苏南大叔试验后,在桌面上生成了几千个临时文件,瞬间死机,估计是被动过手脚的。
网络上有个流传的网站,可以付费破解魔方二代的加密,试了一下,物美价廉。但是破解的结果似乎是有问题的,并不完美。对于本文来说,代码中有两个php
类,第一个完美破解。但第二个类出了问题,表面上看起来ok,却实际不能使用。可见,魔方二代加密的水平还是很高的。
总结
最终的结果上看,这个加密文件是被完美破解了。因为手工修复了第二个类的缘故,加深了对这个系统的理解程度。一共使用了两种途径,破解该源码。分别是:
- 第一个途径,保留被加密的
php
文件,只是改写了关键性的class
的方法。 - 第二个途径,通过付费破解的方式,拿到了一个不完美的明文
php
,然后手工修复了并不完美的相关逻辑。
本文仅仅记录相关破解思路,并没有涉及该系统名称及关键性的破解代码。同时,对于友情出镜的魔方加密二代crane
算法,苏南大叔表示非常高深莫测,如果能把类名和方法名也都加密掉的话,无疑是最好的。
更多加密解密的相关文章,请点击苏南大叔的博客文章。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
厉害了
评论一下~
6666666
888888
6666666
88888888
不错啊,挺好
66666
77777