batilo
V2EX  ›  PHP

有菊苣能帮忙 decode 一下加密内容嘛?

  •  
  •   batilo · Jan 28, 2016 · 5528 views
    This topic created in 3804 days ago, the information mentioned may be changed or developed.
    15 replies    2016-01-30 08:16:23 +08:00
    zhangchunfei
        1
    zhangchunfei  
       Jan 28, 2016
    啥叫菊苣?
    xuboying
        2
    xuboying  
       Jan 28, 2016
    cooltechbs
        3
    cooltechbs  
       Jan 28, 2016
    菊苣就是巨巨,大大的升级版
    moro
        4
    moro  
       Jan 28, 2016
    php 的一段,解出来是这样的
    $global2['content']=substr(file_get_contents(__FILE__), 4415, 6148);
    $global2['content']=base64_decode($global2['content']);
    $global2['content']=gzuncompress($global2['content']);
    return(eval($global2['content']));

    substr 后面两个是写死的,更换文件路径后 gzuncompress 报错,应该是 substr 两个值不对。
    moro
        5
    moro  
       Jan 28, 2016
    猜测至少还有别的程序处理这个文件。
    necomancer
        6
    necomancer  
       Jan 28, 2016 via Android
    感觉像 base64 ,你 base64 -d 一下试试
    batilo
        7
    batilo  
    OP
       Jan 28, 2016
    @moro 好的, 感谢。 我们再看看
    slowgen
        8
    slowgen  
    PRO
       Jan 28, 2016
    一个混淆过的 php 版 webshell,目测站点已被 getshell...
    Sunyanzi
        9
    Sunyanzi  
       Jan 29, 2016   ❤️ 1
    @shuimugan 这还真不是个 webshell ... 看似一个跟 wordpress 有关的授权文件 ...
    vibbow
        10
    vibbow  
       Jan 29, 2016
    为什么我运行后直接提示语法错误...
    vibbow
        11
    vibbow  
       Jan 29, 2016
    我知道了,源代码是有 unicode 的, LZ 是不是已经解密一遍了?
    vibbow
        12
    vibbow  
       Jan 29, 2016
    看到了一个 register_sidebar
    感觉真的是 wordpress 插件相关文件。
    vibbow
        13
    vibbow  
       Jan 29, 2016
    目测 LZ 是想破解这个网站的主题了:
    https://www.suxing.me/
    vibbow
        14
    vibbow  
       Jan 29, 2016
    核心混淆算法就是这么一句话:
    function dec($a, $b = '')
    {
    if (empty($a)) return '';
    $a = base64_decode($a);

    if ($b == '') return ~$a;
    //if ($b = ='-1') // Do something weird

    $length = strlen($a);
    $b = str_pad($b, $length, $b);

    return $b ^ $a;
    }

    文件最开始把代码里使用到的关键字,全部使用这个算法解密开。(包括函数名,变量值,常量值)
    然后程序就可以正常运行了。

    PHP 是可以使用 unicode 变量的,不过绝大多数 IDE 应该都不支持 unicode 的。
    网上绝大多数 PHP 解混淆工具应该也不支持 unicode 的,所以就无法解开这个文件了。
    文件实际混淆强度不大。
    Roycom
        15
    Roycom  
       Jan 30, 2016 via iPhone
    mark 一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   870 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 19:42 · PVG 03:42 · LAX 12:42 · JFK 15:42
    ♥ Do have faith in what you're doing.