iamdivine
@iamdivine

Каким способом закодирован php-скрипт?

У знакомого после одного "фрилансера" появился такой скрипт на хосте. Возможно, малварь или еще что. Можно как-то расшифровать, что там написано?
<?php
if (isset($_GET['auth_in'])) {
    $table1 = array(0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x06, 0x00, 0x00, 0x00, 0xE4, 0xB5, 0xB7, 0x0A, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0B, 0x13, 0x00, 0x00, 0x0B, 0x13, 0x01, 0x00, 0x9A, 0x9C, 0x18, 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4D, 0x41, 0x00, 0x00, 0xB1, 0x8E, 0x7C, 0xFB, 0x51, 0x93, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, 0x4D, 0x00, 0x00, 0x7A, 0x25, 0x00, 0x00, 0x80, 0x83, 0x00, 0x00, 0xF9, 0xFF, 0x00, 0x00, 0x80, 0xE9, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00);
    $table2 = array(0xFF, 0x25, 0x34, 0x39, 0x4D, 0x00, 0x90, 0x90, 0x90, 0x90, 0x56, 0x57, 0x50, 0x8B, 0x44, 0x24, 0x14, 0x8D, 0x0C, 0x80);
    $auth_in = sha1($_GET['auth_in']);
    sscanf($auth_in, "%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X%2X", $i1, $i2, $i3, $i4, $i5, $i6, $i7, $i8, $i9, $i10, $i11, $i12, $i13, $i14, $i15, $i16, $i17, $i18, $i19, $i20);
    $pb_out = array($i4, $i3, $i2, $i1, $i8, $i7, $i6, $i5, $i12, $i11, $i10, $i9, $i16, $i15, $i14, $i13, $i20, $i19, $i18, $i17);
    for ($i = 0;$i < 5;$i++) for ($j = 0;$j < 100;$j++) $pb_out[$i]^= $table1[$j] ^ 0x2F;
    for ($i = 5;$i < 10;$i++) for ($j = 0;$j < 100;$j++) $pb_out[$i]^= $table1[$j] ^ 0x45;
    for ($i = 10;$i < 15;$i++) for ($j = 0;$j < 100;$j++) $pb_out[$i]^= $table1[$j] ^ 0x6F;
    for ($i = 15;$i < 20;$i++) for ($j = 0;$j < 100;$j++) $pb_out[$i]^= $table1[$j] ^ 0xDB;
    for ($i = 0;$i < 20;$i++) $pb_out[$i]^= $table2[$i];
    for ($i = 0;$i < 20;$i++) echo sprintf("%02X", $pb_out[$i]);
}
?>
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вычисляется sha1 от $_GET['auth_in'], преобразуется в 20 байт, побайтово ксорится с 73A9B8B5C18C1C1C1C1CDADBDC07C8A89801800C и выводится. Что именно выведется, зависит от того, что передано в параметре auth_in.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы