不知道某君删了我的评论,还是发在这里面。

其实对神盾解密并没有那么感兴趣,只是看到了博主把工具又加密了,感觉不爽。研究了一下,其实解密没那么复杂。

利用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 神盾解密工具 ”相关推荐

  1. java des加密解密_Java实现的DES加密解密工具类实例

    本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...

  2. 手机端刷recovery工具_TWRP_recovery刷入显示解密DATA分区,请刷入密码怎么办?

    安卓刷机,目前最常见的就是使用TWRP_Recovery,而TWRP也是目前最强大安卓第三方 REC项目,支持官方和各种第三方ROM的完美刷入,支持获取完美ROOT等高级玩机功能 但新手玩机也会出现各 ...

  3. Java工具类——DES加密和解密工具 I

    可以指定不同的密钥对同一字符串进行不同的加密操作,增强加密性能. package com.app; import java.security.Key; import java.security.Sec ...

  4. java 文件 加解密_Java实现文件的加密解密功能示例

    Java实现文件的加密解密功能示例 发布时间:2020-10-05 22:05:15 来源:脚本之家 阅读:86 作者:FC WORLD!!! 本文实例讲述了Java实现文件的加密解密功能分享给大家供 ...

  5. 微信数据库最新的解密方式,使用C++代码解密微信加密数据库信息!

    原文转载于:https://blog.csdn.net/jiangwei0910410003/article/details/79436956 一.知识回顾 最近有人找我弄微信数据库解密的东西,其实这 ...

  6. Base64 混淆加密+迭代次数,Base64前后端加解密不一致、Base64 js加解密结果与java加解密结果不一致,Base64中文加密乱码

    Table of Contents 概述 一.js加密,java解密 1.js加密 1.中文字符串加密 2.英文等字符串加密 3.中文字符串混淆.迭代加密 4.英文等字符串混淆.迭代加密 5.JSON ...

  7. SG11解密 | Swoole解密 | GOTO解密 PHP解密教程 sg_load解密去除域名IP授权 SG11解密方法 Swoole解密方法

    PHP解密PHP加密sg11加密sg11解密全网最厚道的SG11解密方法sg11解密 php解密 SourceGuardian解密sg_load解密去除域名IP授权 SG11解密 | Swoole解密 ...

  8. 程序猿成长之路番外篇之前后端加解密(rsa+aes混合加解密算法)

    今年国庆前夕接手一个外部项目,说是要保障接口数据安全,数据安全相对容易些,接口安全嘛emmmmm, 这个要考虑加解密算法.白名单之类的问题了.于是打算今天搞一期接口安全为题的成长之路番外篇. 为什么要 ...

  9. java对sha1的解密_Java实现文件的加密解密功能示例

    本文实例讲述了java实现文件的加密解密功能分享给大家供大家参考,具体如下: package com.copy.encrypt; import java.io.file; import java.io ...

  10. php字符串加密解密源码,PHP中加密解密字符串函数源代码

    PHP中加密解密字符串函数源代码: /** *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ / ...

最新文章

  1. 汉字书写解码_《汉字解码学》   第一部分
  2. 使用指针交换i,j,k的值
  3. 2019-12-03 有用的学术网站
  4. 【嵌入式】C语言中volatile关键字
  5. yelee主题修改博客左侧文章目录的按钮字体
  6. python 爬虫 标签文本beautifullsoup_【Python爬虫】学习BeautifulSoup
  7. Linux 命令出现号(大于号)如何退出
  8. [html] 制作一个页面时,需要兼容PC端和手机端,你是要分别做两个页面还是只做一个页面自适应?为什么?说说你的理由
  9. 7-57 愿天下有情人都是失散多年的兄妹 (25 分)(深搜)
  10. 二级VB培训笔记08:公共基础知识
  11. azure批量创建虚拟机_如何将数据库迁移到Azure虚拟机
  12. 【转】NodeJs使用Mysql模块实现事务处理
  13. java课程设计仓库管理系统_Java课程设计-仓库管理系统
  14. Oracle 数据库sql语句修改表字段的字段类型和长度
  15. QRCode.js 生成二维码放大后会模糊的问题
  16. 高通camera结构(摄像头基础介绍)
  17. 关于出现无法查找或打开PCB文件的问题解决思路
  18. 极米投影仪: U盘安装APP
  19. 如何选择一台好的拨号服务器?
  20. linux申请信号量,linux 信号量

热门文章

  1. IOS启程06—iOS设置圆角图片
  2. Linux查找大文件 (find的用法)
  3. jquery绑定的事件对ajax刷新出的数据不生效,on可能受jquery版本影响
  4. 表单提交防止恶意修改
  5. IOS 创建简单表视图
  6. gtone eclipse plugin install
  7. Windows Communication Foundation from msdn
  8. 谈谈软件的开发及成长历程
  9. gridview合并单元格
  10. ARCGIS RUNTIME FOR IOS总结(三)