-
PHP代码加密与PHP Opcode缓存总结
什么是opcode?通常情况PHP的程序运行Zend虚拟之上的,当然也可以选择FB出的HHVM。PHP的opcode就是Zend虚拟机执行的指令。我们的PHP代码在需要先通过Zend编译器编译为opcode,再通过Zend解析器执行opcode指令。opcode缓存目的通过将PHP脚本预编译的字节码存储到共享内存中来提升PHP的性能,存储预编译字节码的好处就是省去了每次加载和解析PHP脚本的开销。ZendOptimizerv3.x.xv2.x.x在PHP-5.2.x以前的PHP版本使用,用优化代码的方法来
-
php常用的解密方式
最近总是有网友问我php文件怎么解密,php解密是什么原理,针对这个问题我总结了目前比较流行的php加密文件的解密方式。1.opcode逆向还原:本方法为php解密终结解决方案,只要劫持了opcode就基本完成了php的解密,前提是你能将得到的opcode逆向还原成php,本方法可以还原大部分的组件加密,如zend加密的php5.2,zend加密的php5.3,zend加密的php5.4,zend加密的php5.5等文件。2.eval劫持:本方法需要编译php组件,是处理混淆加密的绝佳方案,php混淆加密
-
新版phpjm解密程序,也适用于其他混淆加密的破解
新版phpjm解密程序,也适用于其他混淆加密的破解
-
解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾
php做为一门当下非常流行的web语言,常常看到有人求解密php文件,想当年的asp也是一样。一些人不理解为什么要混淆(加密),甚至鄙视混淆(加密),在我看来混淆加密代码可以用来防一般的小人,会起到一定的保护作用。加密的原因:1.保护代码,防止别人剽窃2.保护文件,防止别人发现/查杀(php木马or后门)3.剽窃了他人代码防止被发现4.其他商业或非商业目的我一直都比较关注代码的加解密,从简单evalbase64,gzcompress,gzinflate到威盾,ZendGuard加密,到近期比较流行的一种二
-
php加密文件解密失败的常见原因
实际解密中发现,绝大多数解密失败是由于解密的文件被修改造成的。一种情况是使用了FTP的文本模式上传下载了文件。Linux服务器请选择二进制模式下载加密的php文件。一种情况是某种编辑器会自动保存文件,如果文件不是纯文本文件有乱码,则用此类编辑器打开即被损坏。少数情况下,扩展名为.php的文件并非可执行的php文件,而是由其他文件读取,解密后执行。此种情况下,部分程序作者还会故意伪造了文件特征,伪装成zendguard加密的文件,迷惑解密程序,请仔细检查是否此种情况或联系我处理。
-
php加密类型文件特征及解密效果
加密类型文件特征解密效果Zend/PHP5.2/5.3/5.4文件头?php@Zend或ZendPHP5.220040722013PHP5.3200407220165540PHP5.4200407220165541如有变量名混淆,大部分可解出来PHP5.3和PHP5.4基本做到免修复直接可用PHP5.2解密后有较少量语法错误需人工修复易盾1.x易盾2.x易盾1.x文件头部%%易盾2.x文件头部@%52或@%54易盾1.x100%解密类型无需修复易盾2.x基本做到免修复直接可用SourceGuard文件头部
-
常用的zend解密工具,可以解密zend5.2
本文收集整理了常见的zend解密软件,可以解密zend5.2的文件。黑刀dezender免费版、七剑dezender免费版、XCache5.2、G-dezenderzend5.2解密内核分为RM、NWS、XCache版本,目前解密效果最好的是RM内核,但经本人测试发现,Xcache版本解密后只是缺少了php函数名,但其他错误极少,所以将Xcache内核和RM内核结合到一块进行源代码分析是最好的选择。经站长精心修复的zend5.2解密内核源码还原率极高,为业界先进水平,欢迎使用。
-
PHP输出当前进程所有变量/常量/模块/函数/类
1.get_defined_vars(PHP4=4.0.4,PHP5)—获取由所有已定义变量所组成的数组arrayget_defined_vars(void)此函数返回一个包含所有已定义变量列表的多维数组,这些变量包括环境变量、服务器变量和用户定义的变量。Php代码?phpecho'pre';$b=array(1,1,2,3,5,8);$arr=get_defined_vars();//打印$bprint_r($arr["b"]);//打印所有服务器变量print_r($arr["_SERVER"]);/
-
OPCODE的功能列表
phpcode代码值ver含义ZEND_NOP0空操作ZEND_ADD1加ZEND_SUB2减ZEND_MUL3乘ZEND_DIV4除ZEND_MOD5求模ZEND_SL6左移位ShiftLeftZEND_SR7右移位ShiftRightZEND_CONCAT8字符串连接ZEND_BW_OR9按位或ZEND_BW_AND10按位与ZEND_BW_XOR11按位异或ZEND_BW_NOT12按位非ZEND_BOOL_NOT13逻辑非!ZEND_BOOL_XOR14逻辑异或XORZEND_IS_IDENTICA
-
从php内核挂载钩子解密源码
背景大多数的php代码加密(不需要额外扩展就能运行的)原理上都是使用eval进行代码的执行,理论上,只要我们在php内核执行eval函数的时候,将其dump出来,就可以得到源代码。需要注意的是:用户上传的代码是不可信的,因此需要一个沙盒此法虽然方便,看似是一个万能解密的办法,但是dump数据的时候会有很多中间值,还是需要人工的做一个特征库,去识别过滤出需要的代码段实现在php扩展中,moduleinit的时候替换掉zend_compile_string,主要代码如下staticzend_op_array*
-
php源码安全加密之PHP混淆算法
php源码安全加密的前世今生,本想发在教程区中.不知道怎么发,就写在这里面吧.PHP加密,解密是一直的话题,本人菜鸟,今天就简单向大家介绍一下并说说其中原理.提供一些加密的混淆算法.一PHP的加密总体上来说分以下2种:1扩展组件类加密,代表有:zendionCubeSGphp_screwcompilerBZ2等.2免扩展加密:php某盾等为代表的一批.二他们的安全性?组件类加密:对于扩展加密,ZEND类为代表的是先编译成opcode再压缩执行.理论上没办法得到源代码.现在有一些ZEND
-
PHP代码的加密解密
PHP语言作为脚本语言的一种,由于不需要进行编译,所以通常PHP程序的分发都是直接发布源代码。对于一些开源软件来说,这并没有什么问题,因为它本来就希望有更多的人阅读代码,希望有更多的人参与进来,而对于商业代码来说,这却是一个不太好的消息,不管是从商业秘密,还是从对公司产权的保护来说却是一个问题,基于此,从而引出了对PHP代码的加密和解密的议题。例如国内的Discuz论坛程序在开源之前要运行是必须安装ZendOptimizer的,Zend官方的代码加密软件是ZendGuard,可以用来加密和混淆PHP代码