php混淆加密解密实战

在查看别人的php源码的时候,我们经常会看到加密后的php代码.那么php加密原理是什么呢?怎么解密呢?


混淆加密

我们从百度随便搜索一个加密网站,例如:http://dezend.qiling.org/encrypt/

加密代码:

<?php
/**
 * Created by PhpStorm.
 * User: tioncico
 * Date: 20-3-28
 * Time: 上午9:59
 */
class Tioncico{
    function testEcho(){
        echo "仙士可\n";
    }
}
$tioncico = new Tioncico();
$tioncico->testEcho();

加密成功后:

仙士可博客


成功执行:

仙士可博客


那么,这串代码的加密原理是什么呢?能解密吗?

在这串代码中,我们发现了最后有段代码为:eval();(如果你通过打印eval的第一个变量,可以发现这个变量为base64_decode)

很明显,该代码最后通过这串代码执行,通过echo把eval需要执行的代码输出:

仙士可博客


可以发现,它又是一个eval包裹,继续输出:

仙士可博客

同理,找到最后的eval,输出:

仙士可博客


继续:

仙士可博客仙士可博客


则得到了加密前的代码.   


混淆加密的原理

混淆加密通过不断重复的base64,然后混淆base64_encode,decode函数,最后通过eval 解密执行完成.  只要稍微了解了一点原理,就能解密成功了.




仙士可博客
请先登录后发表评论
  • 最新评论
  • 总共4条评论
仙士可博客

:大神,我QQ互联申请QQ登录的时候,提示:审核未通过,填入的信息和工信部备案信息不一致,但是我这边检查了,又是对的,该是什么原因呢

2020-05-09 08:21:41 回复

仙士可博客

摩羯座:CSRF

2020-04-02 11:45:44 回复

仙士可博客

摩羯座:A

2020-04-02 11:23:11 回复

仙士可博客

摩羯座:http://www.php20.cn/article/235

2020-04-02 10:41:55 回复

  • 本站由白俊遥博客程序搭建
    © 2017-1-17 php20.cn 版权所有 ICP证:闽ICP备17001387号
  • 联系邮箱:1067197739@qq.com