先来看看加密的文件
可以看出这是一个正常的 php 文件,只不过所有的变量名都是乱码,这个加密的文件变量名的字节部都在 ASCII 范围以外
调试
## 准备
1、VS Code
2、安装 PHP debug 插件 !
3、按照 https://xdebug.org/docs/install 的说明安装 XDebug 插件
## 代码格式化
这个代码太乱了,需要格式化一下代码 所以用这个工具:
nikic/PHP-Parser
https://github.com/nikic/PHP-Parser
github打不开可以百度网盘
php格式化工具PHP-Parser-4.x
链接: https://pan.baidu.com/s/1LXyTe6jnFDtu-fY0OKsFIA 提取码: 4g94
格式化一下代码 但是格式完之后,代码运行不起来了,这里我们只好保持它原来的样子不变了
## 开始调试 我们先换个编码 !
使用编码 Western (Windows 1252) 打开 Windows 1252 是个单字节的字节集,不会出现任何 2 个字节被显示成 1 个字符的问题,其他的单字节集通常也可以 然后我们就可以下断点开始调试了 !
开始调试之后,运行 PHP 文件 单步调试 (F11) !
一直调试可以看到函数变量 !
往下一直调试,发现源码直接出来了 !
对此我很想说:这加密就这水平??? 就没有一点点反调试??
# 总结
对上面的加密就不做更深入的研究及编写自动解密脚本了,这个加密无非就是利用了 eval、base64_decode、array_pop、substr 等等函数进行一些简单的处理
若对 PHP 源码加密的话,不建议使用此类简单的混淆加密,推荐使用加密强度更高的加密,如:SourceGuardian、Swoole Compiler 之类的加密。
标签:
本文链接:http://78moban.cn/post/15324.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!