zoukankan      html  css  js  c++  java
  • php混淆加密解密实战

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

    混淆加密

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

    加密代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    /**
     * Created by PhpStorm.
     * User: tioncico
     * Date: 20-3-28
     * Time: 上午9:59
     */
    class Tioncico{
        function testEcho(){
            echo "仙士可 ";
        }
    }
    $tioncico new Tioncico();
    $tioncico->testEcho();

    加密成功后:

    仙士可博客

    成功执行:

    仙士可博客

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

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

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

    仙士可博客

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

    仙士可博客

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

    仙士可博客

    继续:

    仙士可博客仙士可博客

    则得到了加密前的代码.   

    混淆加密的原理

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

     

  • 相关阅读:
    3、Less-计算
    2、Less-混合
    1、Less-初见
    5、反射-动态代理
    4、反射-类的构造器:Constrctor
    3、反射-Field
    2、反射-Method&父类
    1、反射-Class&ClassLoader
    5、URLConnection(3)
    Linux进程状态查询
  • 原文地址:https://www.cnblogs.com/myJuly/p/12973767.html
Copyright © 2011-2022 走看看