神盾解密工具 之 解密 “ PHP 神盾解密工具 ”
不知道某君删了我的评论,还是发在这里面。
其实对神盾解密并没有那么感兴趣,只是看到了博主把工具又加密了,感觉不爽。研究了一下,其实解密没那么复杂。
利用php_apd扩展很轻松地就这把这搞定了。只有四句代码。
<?php
rename_function('gzuncompress','new_gzuncompress');
override_function('gzuncompress', '$arg', 'print(new_gzuncompress($arg)); return new_gzuncompress($arg);');require_once 'decryption.php';
decryption('decryption.php');
该工具的核心代码:
<?php
function decryption($fileName) {/*** 解码函数* @param string $str 待解码字符串* @param string $flg 是否解析后解码* @return string 已解码字符串*/function decode($str, $flg = '') {if($flg === '') {$ret = $str;} else {$ret = 'ۯ'; $i = 0; $l = strlen($str);while($i++ < $l) {$c = ord($str[$i-1]);$ret .= $c<245 ? ( $c>136 ? chr($c/2) : $str[$i-1] ) : "";}}return base64_decode($ret);}$err = '解码遇到错误,请联系教主处理该文件!';$str = file_get_contents($fileName);$path = pathinfo($fileName);$dirname = $path['dirname']; // 文件所在目录$baseName = $path['filename']; // 文件名if (preg_match('|IN_DECODE_(\w{32})|s', $str, $arr)) {// 防止解密自己,其实方法都已经告诉你了,自己动手解码才快乐$arr[1] === '761b5f52db6dff7ce91344e99dcedab7' && die("err: [-1] - 请勿试图用本工具解密本工具!");} else {die("err: [-1] - 没有发现神盾特征,你确定这是神盾加密?");}// 匹配代码主题部分// '';@\$[\x00-\xff]+\(\\'([\x00-\xff]+?)\\'\.\(preg_match('|\'\';@\$[\x00-\xff]+\(\\\\\'([\x00-\xff]+?)\\\\\'\.\(|s', $str, $arr) || die("err: [0] - ".$err);$code = $arr[1];// 匹配中间加密部分preg_match('|\(\'([\x00-\xff]+)\',\'|s', $code, $arr) || die("err: [1] - ".$err);$key = base64_decode(decode($arr[1], "decode"));$code = preg_replace('|\'\.[\x00-\xff]+\'\)\)\.\'|s', $key, $code);// 匹配尾部被加密代码preg_match('|=\'(x[\x00-\xff]+)\'\)\);|s', $str, $arr) || die("err: [2] - ".$err);$core = $arr[1];// 匹配验证keypreg_match('|[\w+/=]{59}=|s', $arr[1], $arr) || die("err: [3] - ".$err);$key = $arr[0];$core = str_replace($key, '', $core); // 去除key$suffix = gzuncompress($core); // 得到 base64 的末尾部分// 解码$code = gzuncompress(base64_decode($code . $suffix));// 匹配干净的代码if (preg_match('|<!--<\?php endif;\?>(<\?php[\r\n]{1,2}[\x00-\xff]+\?>)<\?php \$GLOBALS\[|s', $code, $arr)) {$code = $arr[1];}// 写到文件$source = $dirname . DIRECTORY_SEPARATOR . $baseName . "_source.php";file_put_contents($source, $code);die("解密成功,已经保存为: " . $source);
}
转载于:https://www.cnblogs.com/Rouper/p/3673703.html
神盾解密工具 之 解密 “ PHP 神盾解密工具 ”相关推荐
- java des加密解密_Java实现的DES加密解密工具类实例
本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...
- 手机端刷recovery工具_TWRP_recovery刷入显示解密DATA分区,请刷入密码怎么办?
安卓刷机,目前最常见的就是使用TWRP_Recovery,而TWRP也是目前最强大安卓第三方 REC项目,支持官方和各种第三方ROM的完美刷入,支持获取完美ROOT等高级玩机功能 但新手玩机也会出现各 ...
- Java工具类——DES加密和解密工具 I
可以指定不同的密钥对同一字符串进行不同的加密操作,增强加密性能. package com.app; import java.security.Key; import java.security.Sec ...
- java 文件 加解密_Java实现文件的加密解密功能示例
Java实现文件的加密解密功能示例 发布时间:2020-10-05 22:05:15 来源:脚本之家 阅读:86 作者:FC WORLD!!! 本文实例讲述了Java实现文件的加密解密功能分享给大家供 ...
- 微信数据库最新的解密方式,使用C++代码解密微信加密数据库信息!
原文转载于:https://blog.csdn.net/jiangwei0910410003/article/details/79436956 一.知识回顾 最近有人找我弄微信数据库解密的东西,其实这 ...
- Base64 混淆加密+迭代次数,Base64前后端加解密不一致、Base64 js加解密结果与java加解密结果不一致,Base64中文加密乱码
Table of Contents 概述 一.js加密,java解密 1.js加密 1.中文字符串加密 2.英文等字符串加密 3.中文字符串混淆.迭代加密 4.英文等字符串混淆.迭代加密 5.JSON ...
- SG11解密 | Swoole解密 | GOTO解密 PHP解密教程 sg_load解密去除域名IP授权 SG11解密方法 Swoole解密方法
PHP解密PHP加密sg11加密sg11解密全网最厚道的SG11解密方法sg11解密 php解密 SourceGuardian解密sg_load解密去除域名IP授权 SG11解密 | Swoole解密 ...
- 程序猿成长之路番外篇之前后端加解密(rsa+aes混合加解密算法)
今年国庆前夕接手一个外部项目,说是要保障接口数据安全,数据安全相对容易些,接口安全嘛emmmmm, 这个要考虑加解密算法.白名单之类的问题了.于是打算今天搞一期接口安全为题的成长之路番外篇. 为什么要 ...
- java对sha1的解密_Java实现文件的加密解密功能示例
本文实例讲述了java实现文件的加密解密功能分享给大家供大家参考,具体如下: package com.copy.encrypt; import java.io.file; import java.io ...
- php字符串加密解密源码,PHP中加密解密字符串函数源代码
PHP中加密解密字符串函数源代码: /** *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ / ...
最新文章
- 汉字书写解码_《汉字解码学》 第一部分
- 使用指针交换i,j,k的值
- 2019-12-03 有用的学术网站
- 【嵌入式】C语言中volatile关键字
- yelee主题修改博客左侧文章目录的按钮字体
- python 爬虫 标签文本beautifullsoup_【Python爬虫】学习BeautifulSoup
- Linux 命令出现号(大于号)如何退出
- [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由
- 7-57 愿天下有情人都是失散多年的兄妹 (25 分)(深搜)
- 二级VB培训笔记08:公共基础知识
- azure批量创建虚拟机_如何将数据库迁移到Azure虚拟机
- 【转】NodeJs使用Mysql模块实现事务处理
- java课程设计仓库管理系统_Java课程设计-仓库管理系统
- Oracle 数据库sql语句修改表字段的字段类型和长度
- QRCode.js 生成二维码放大后会模糊的问题
- 高通camera结构(摄像头基础介绍)
- 关于出现无法查找或打开PCB文件的问题解决思路
- 极米投影仪: U盘安装APP
- 如何选择一台好的拨号服务器?
- linux申请信号量,linux 信号量