解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾

简介: 原文 解析php混淆加密解密的手段,如 phpjm,phpdp神盾,php威盾 php做为一门当下非常流行的web语言,常常看到有人求解密php文件,想当年的asp也是一样。一些人不理解为什么要混淆(加密),甚至鄙视混淆(加密),在我看来混淆加密代码可以用来防一般的小人,会起到一定的保护作用。

原文 解析php混淆加密解密的手段如 phpjm,phpdp神盾,php威盾

php做为一门当下非常流行的web语言常常看到有人求解密php文件想当年的asp也是一样。一些人不理解为什么要混淆(加密)甚至鄙视混淆(加密)在我看来混淆加密代码可以用来防一般的小人会起到一定的保护作用。

 

加密的原因

1. 保护代码防止别人剽窃

2. 保护文件防止别人发现/查杀(php木马 or 后门)

3. 剽窃了他人代码防止被发现

4. 其他商业或非商业目的

 

我一直都比较关注代码的加解密从简单eval base64,gzcompress,gzinflate 到 威盾Zend Guard加密到近期比较流行的一种二进制(unicode乱码)加密,如 phpjm,phpdp神盾。对比这几种加密方式。

 

第一种加密方式就是简单的使用函数encode代码之后再eval(decode('encode的代码')),解密非常简单直接把eval替换成exit即可输出源代码如果经过多层加密就继续替换下去...

 

eval(base64_decode('PD9waHAgZWNobyAndHh0Y21zLmNvbSc7Pz4='));//txtcms.com

 

解密难度

 

第二种威盾加密做为第一种方式的升级版即把之前的base64之类的系统内置函数变成了匿名函数。解密也是一样把eval替换成exit即可。

 

$OOO0O0O00=__FILE__;$OOO000000=urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');$OO00O0000=28;$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$O0O0000O0='OOO0000O0';eval(($$O0O0000O0('JE9PME9PMDAwMD.//txtcms.com......省略

 

解密难度

 

第三种Zend Guard,这种加密方式无法像前面一样手动解密。需要用到工具如dezender黑刀。

目前我知道的就只有php4~php5.2的可以被此工具解密出来解密出来的变量或函数可能比较丑像$_obfuscate开头因为经过混淆了。不过如果在php代码里加上一句代码可使该程序溢出导致解密失败。

 

@Zend; 3074; 以下省略乱码//txtcms.com

 

解密难度

 

第四种二进制(unicode乱码)加密如phpjm,phpdp神盾。这种加密方式其实也是威盾的升级版即把匿名函数字符串经过一系列的打乱分散处理之后再把函数、变量、字符串替换成经过处理的unicode字符串。这样生成的文件就不能轻易的修改了。加大了解密的难度解密方法也简单就是替换掉那些变量和方法使之成为正常的字符串再exit即可。

 

if (!defined("BEEABDD")){define("BEEABDD", __FILE__);global $?$妰,$唽,$墎儢,$唫敊?$槀垙梽,$厠墪儛?$嚌巵嚀亸,$寬剛檲槗,$拹枩崄厷?$湠湜啔増仦?$憻檮劀瀺晵€?$垵啑崙媺悎剹,$倧€剮寳崊湌倹€,$槏偀梹啅€攢専挄,$剦槙姙儣枓瀿厐巼;function 殸($殸,$妰?""){.......//txtcms.com

 

解密难度

 

总结php无扩展加密无非用到的几个函数 eval , preg_replace使用e修饰符 , strtr , base64_decode。

目录
相关文章
|
API
armeabi-v7a armeabi arm64-v8a 参数的含义解释
严格意义上这个不是原创是从网上找的资源,理解后写成的,所有资料都注明了来源 armeabi是针对所有的arm cpu,只要支持arm的指令集就可以,v7a,v8a是针对arm后来出的指令集版本制定的cpu如符合arm7指令集的cpu armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpu。 armeabi-v7a(32位ARM设备), arm64-v8a
5593 0
|
自然语言处理
致第一次安装RIME的你
转载自百度RIME吧,作者:半月湾C 原帖地址:http://tieba.baidu.com/p/3288634121   序言 很喜欢小狼毫输入法,喜欢他的简洁,美观以及超强悍的个人定制功能。关于 RIME输入法。
4568 0
|
前端开发 开发者 UED
UI 框架:nav-ui&uni-ui&vant
本文档介绍了`nav-ui`、`uni-ui`和`vant`三个UI库的基本使用方法,包括图标、表格和树的使用示例,以及如何在项目中安装和配置这些UI组件。对于`nav-ui`,详细说明了图标组件的安装与使用,包括本地图标和第三方图标库的集成方式。`uni-ui`部分则重点讲解了CSS的使用方法。最后,`vant`部分提供了从项目创建到组件安装的具体步骤,以及如何将下载的组件正确地集成到项目中。
779 4
|
Shell 开发工具 对象存储
[Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk)
背景: 凡事使用服务器搭建的网站就需要定时备份网站数据,常见的方法是打包网站目录,然后备份到FTP服务器上等。也有通过OSS SDK把备份的网站文件上传到OSS服务器上,但是通过SDK来实现,需要一定的技术能力,而且相对比较复杂,需要使用更多的文件,而这篇文章是通过shell脚本,并不是通过OSS SDK来上传文件,简单方便。
2929 0
|
机器学习/深度学习 算法 Python
学习笔记: 机器学习经典算法-决策树(Decision Tress)
机器学习经典算法-个人笔记和学习心得分享
1284 0
|
Python Windows
神器 pypandoc —— 实现电子书自由
知识就是力量,甚至说 知识就是金钱 更为合适。 在信息时代的我们,获取知识,提升认知如同吃饭一样,成为了必须做的事情,阅读是最常用的获取知识的方式,没用之一。 可是有时因为一些技术问题,导致我们阅读不便。
699 0
神器 pypandoc —— 实现电子书自由
|
前端开发 JavaScript 容器
LayUI前框框架普及版(一)
LayUI前框框架普及版
783 0
|
存储 SQL Cloud Native
一文教会你使用强大的ClickHouse物化视图
在现实世界中,数据不仅需要存储,还需要处理。处理通常在应用程序端完成。但是,有些关键的处理点可以转移到ClickHouse,以提高数据的性能和可管理性。ClickHouse中最强大的工具之一就是物化视图。在这篇文章中,我们将探秘物化视图以及它们如何完成加速查询以及数据转换、过滤和路由等任务。 如果您想了解更多关于物化视图的信息,我们后续会提供一个免费的培训课程。
29452 10
一文教会你使用强大的ClickHouse物化视图
|
安全
猿大师办公助手在线编辑微软Office/金山wps网页组件COM加载项启用说明
猿大师办公助手是一款独特的在线编辑Office插件,不同于其他厂商的弹窗模式,它真正实现了网页内嵌本机Office。其COM加载项可在Office主菜单栏增加PageHi子菜单,提供文件保存、打印等功能,并能控制文档操作权限。安装后,默认自动启动COM加载项,但需注意可能被禁用或拦截,必要时需手动启用。对于WPS和微软Office,均有详细的启用步骤。
770 5
猿大师办公助手在线编辑微软Office/金山wps网页组件COM加载项启用说明