MENU

一次简单的PHP解密分析

April 9, 2020 • Read: 484 • 教程

先来看看加密的文件

20200409185643.png

可以看出这是一个正常的 php 文件,只不过所有的变量名都是乱码,这个加密的文件变量名的字节部都在 ASCII 范围以外

调试


准备

1、VS Code
2、安装PHP debug插件

QQ截图20200409191149.png

3、按照 https://xdebug.org/docs/install 的说明安装 XDebug 插件

代码格式化

这个代码太乱了,需要格式化一下代码

所以用这个工具:

格式化一下代码
但是格式完之后,代码运行不起来了,这里我们只好保持它原来的样子不变了

开始调试

我们先换个编码

20200409190711.png

使用编码 Western (Windows 1252) 打开
Windows 1252 是个单字节的字节集,不会出现任何 2 个字节被显示成 1 个字符的问题,其他的单字节集通常也可以

然后我们就可以下断点开始调试了

20200409192356.png

开始调试之后,运行PHP文件

单步调试(F11)
20200409192627.png

一直调试可以看到函数变量
20200409192730.png

往下一直调试,发现源码直接出来了
20200409192916.png

对此我很想说:这加密就这水平???
就没有一点点反调试??

总结

对上面的加密就不做更深入的研究及编写自动解密脚本了,这个加密无非就是利用了eval、base64_decode、array_pop、substr等等函数进行一些简单的处理

若对PHP源码加密的话,不建议使用此类简单的混淆加密,推荐使用加密强度更高的加密,如:SourceGuardian、Swoole Compiler之类的加密

Last Modified: April 12, 2020
Archives QR Code
QR Code for this page
Tipping QR Code
Leave a Comment

已有 1 条评论
  1. 心灵博客 心灵博客     MacOS /    Google Chrome

    看上去加密得很好,没想到这么不经事