Print This Post Качалка видео для Collegehumor

Четверг, 24. Июль 2014
Раздел: Perl, Софт, автор:

collegehumor

Если вы задаетесь вопросом, почему на блоге ничего нового нет? То всё просто - dx умотал в Сиэтл и вернулся оттуда только на днях, именно поэтому вы еще не видели новый PHP обфускатор, обновление PE Bliss и прочие классные вещи. По приезду dx отправился на свой любимый ресурс, Collegehumor, чтобы посмотреть какое-нибудь смешное видео и, внезапно, впервые за пару лет, захотел его скачать, однако, проверенный временем плагин DownloadHelper для браузера Firefox ему не помог, так как ресурс отдавал видео фрагментами с каким-то непонятным расширением. В итоге dx предложил мне разобраться, как автоматизировать процесс скачивания видео с этого ресурса.

Я скачал swf-плеер, который используется на ресурсе, и даже декомпилировал его, но потом вспомнил, что сейчас во всю используется HTML5 и у такого крупного ресурса просто обязано быть решение, которое не завязано на Adobe Flash. Так оно и оказалось, стоило мне отключить Flash, как сайт стал использовать HTML5-плеер, что в общем-то решило проблему скачивания. Однако, я все же по-быстрому набросал скрипт на Perl, который качает видео по указанной ссылке с сайта или по идентификатору видео (работает только для тех видео, которые размещены непосредственно на CH).

ch

Скачать: collegehumor.pl

Print This Post Снимаем пароль с тестов MyTestX и easyQuizzy

Среда, 25. Июнь 2014
Раздел: Assembler, Для новичков, автор:

Время от времени сталкиваюсь с просьбами, касающимися программ для проведения компьютерного тестирования (MyTestX и easyQuizzy), которые заключаются либо в извлечении файла теста из .exe-файла (в случае с MyTestX), либо в открытии защищенного паролем теста.
Набросал "деревянный" последовательный мануал для тех, кому необходимо самостоятельно извлечь тест или сделать, чтобы редактор позволял открыть тест при вводе любого пароля.

Нам понадобится отладчик, например, OllyDbg и программа для упрощенной работы со структурой PE-файла, например, CFF Explorer, также нам понадобится редактор тестов (элементарно ищется в Google), который мы будем "исправлять", и файл, содержащий тест, который необходимо открыть.
Читать дальше »

Print This Post Архив постов блога

Пятница, 18. Апрель 2014
Раздел: Бред, автор:

vault

Сделал архив всех постов блога (пару-тройку совсем бесполезных постов выкинул) в виде набора PDF-файлов разбитых по годам. Архивы в формате ZIP, RAR, RAR5, TAR. Для RAR-архивов включена recovery record максимального размера, так что RAR варианты в 2 раза больше своих собратьев.

Контрольные суммы:

Скачать:
mega.co.nz: zip, rar, rar5, tar.
sendspace.com: zip, rar, rar5, tar.
thepiratebay: .torrent.

Print This Post Skype Preview – плагин предпросмотра ссылок в скайпе

Понедельник, 24. Март 2014
Раздел: C/C++, Windows, Софт, автор:

skype

Сидел я как-то в одном уютном чатике в Skype, и тут одному из участников в голову пришла весьма интересная идея: сделать плагин для скайпа, который позволял бы просматривать содержимое тех ссылок, которые вкидываются в чат, без их открытия. "А почему бы и нет?", - подумал я. Можно открывать картинки в уменьшенном варианте, если ссылка указывает на изображение (в том числе анимированные). А если ссылка ведет на обычную html-страничку, то можно отображать ее заголовок. Забегая вперед, покажу, что получилось:

plugin

Читать дальше »

Print This Post Что нового

Среда, 12. Март 2014
Раздел: Жизнь, автор:

Как вы можете видеть, в блоге снова наблюдается некоторый застой, однако, это не совсем справедливо. Что же было сделано?

Во-первых, dx добавил новый раздел - Софт, который вы можете наблюдать в меню сверху, этот раздел представляет собой каталог релизов блога, разбитый по актуальности, сложности использования и типу.

Во-вторых, мы начали переносить релизы с исходным кодом на GitHub. Зачем? Всё предельно просто: при написании очередного поста исходный код будет залит на блог и GitHub, но при внесении изменений в код, обновления будут происходить на GitHub (и совсем необязательно в блоге). Пример поста, обладающего исходным кодом на GitHub: Статический деобфускатор .bat-файлов (ленточка в правом верхнем углу экрана, чуть позже ссылка будет отображаться также в нижней или верхней части поста, так как dx говорит, что штуку в углу экрана сложно заметить). Со списком релизов, которые были перенесены на GitHub, можно ознакомиться по этой ссылке.

В-третьих, как всегда, мы начали обновлять и дополнять некоторые старые посты. Добавились исходные коды для PFX и KWM брутов, забытый сорс StepFucker'а. Добавилась более толстая база уязвимостей в Simple Engine Scanner. Теперь криптор-обфускатор JS/VBS/HTML поставляется в открытом виде (плюс он был доработан, в нем исправлены мелкие косяки и он теперь работает на последних версиях PHP). Также приведен в рабочее состояние скрипт из этой статьи про цепи Маркова, может, кому-то тоже пригодится (там черт ногу сломит в коде, но warning'и и deprecated-предупреждения убрались).

Ну и наконец, мы продолжаем писать новые статьи и выкладывать релизы, так что оставайтесь с нами!




Print This Post Оптимизация PHP-скриптов: практические советы

Пятница, 7. Февраль 2014
Раздел: PHP, автор:

coding

В этой статье речь пойдет о том, как оптимизировать какой-нибудь PHP-скрипт, чтобы он выполнялся как можно быстрее, затрачивая как можно меньше процессорного времени. Также я опишу некоторые простые техники оптимизации PHP-кода, которые я лично использовал, и которые принесли ощутимый результат. Я коснусь только вопроса оптимизации непосредственно PHP-кода и языка (без всяких оптимизаций запросов к БД, дополнительных расширений, кэширующих опкоды и т.д.). У меня такая задача появилась после написания одной из первых версий движка для проведения психологических тестов (расположен здесь). Скрипт был размещен на облачном хостинге, где веб-мастер платит деньги соразмерно величине израсходованных ресурсов, поэтому в моих интересах было оптимизировать скрипт таким образом, чтобы максимально снизить нагрузку.

Сразу скажу, что заниматься преждевременной оптимизацией не нужно. Стоит задуматься о переработке кода только в следующих случаях:
[+] ваш скрипт подолгу выполняется (например, делает какие-то занимающие длительное время операции в цикле);
[+] ваш скрипт очень часто выполняется (это был мой случай - иногда в день тест проходили порядка десяти тысяч человек - а это около миллиона обращений к скрипту в сутки);
[+] от используемых скриптом ресурсов зависит то, сколько денег вы платите. Если скрипт выполняется на обычном виртуальном хостинге и не превышает лимит нагрузки на процессор, то, скорее всего, можно и не париться;
[+] вы собираетесь массово распространять скрипт, и его будет использовать в конечном итоге множество людей, которым критично, сколько ресурсов скрипт потребляет.

Читать дальше »

Print This Post Статический деобфускатор .bat-файлов

Среда, 5. Февраль 2014
Раздел: C/C++, Windows, автор:

В последнее время неоднократно сталкивался с просьбами снятия примитивной обфускации с .bat-файлов. Обфускация строится на разбивании команд на отдельные символы, создании алиасов для них и последующей записи их с использованием алиасов. Возьмем следующий незамысловатый код:

После обфускации он будет выглядеть, например, следующим образом:

Для таких случаев набросал простенький деобфускатор на C++. Исходный код и скомпилированный бинарник прилагаю. Если будут проблемы с запуском - попробуйте не использовать Windows XP или скачать Visual C++ Redistributable Packages for Visual Studio 2013, возможно, поможет.

Скачать: batch-deobfuscator
Скачать исходный код: batch-deobfuscator-source

Print This Post Психологический тест: история, итоги и статистика

Суббота, 1. Февраль 2014
Раздел: Жизнь, Это интересно, Юмор, автор:

unique_header

Вероятно, многие читатели блога знают, что я какое-то время назад ради интереса написал на PHP простенький движок, позволяющий проводить психологические тесты (и не только психологические). Работающий экземпляр размещен по адресу kaimi.ru/projects/soul. Поначалу это был совсем простой скрипт, читающий конфигурацию тестов из XML и позволяющий пользователю отвечать на вопросы. В конце выдавались значения характеристик человека (вроде "задрот", "альфач" и т.д.) в процентах. Скрипт постепенно оброс новым функционалом, реализованным через плагины. Для лулзов был создан тест под названием "Социо-тест! Насколько ты задрот, битард и социофоб? Проверь себя!" (разумеется, я не имею никакого психологического образования, и всё делалось от балды и отлаживалось на себе, друзьях и знакомых). Однако, я, разумеется, не ожидал, что достаточно было один раз вбросить ссылку на него на какую-нибудь популярную имиджборду (например, 2ch), и дальше всё заработает само. Тред с тестом висел в топе несколько дней. Затем ссылку растащили по сети, и она стала появляться на таких популярных сайтах, как joyreactor.сс, dota2.ru, pikabu.ru, lurkmore.to и т.д. В Твиттере, ВКонтакте, ЖЖ и других соцсетях, а также на форумах пользователи стали делиться ссылкой на тест и результаты, что тоже прибавило посещений. Первую версию теста прошло 80 тысяч человек, были высказаны различные пожелания по его улучшению, и я решил доработать тест. Теперь актуальна новая версия, и на момент написания статьи ее прошло уже почти 250 тысяч человек! Это, пожалуй, первый проект, сделанный исключительно ради удовольствия и веселья, который помог окупить хостинг за несколько месяцев благодаря Google Ads.

Что касается движка, то постепенно были добавлены такие возможности, как рандомизация порядка ответов и вопросов, условные вопросы (которые задаются только при определенных ответах на предыдущие вопросы), получение подробного описания по каждой характеристике, вывод общего описания человека, расшаривание результатов теста, кеширование, темы и т.д. Была проведена достаточно основательная работа по оптимизации движка (про это можно написать отдельную статью). Сейчас еще остается недописанным GUI-редактор тестов. Вероятно, когда я его доделаю, я выложу и движок со всеми плагинами, и редактор.

И вот теперь, имея на руках почти 250 тысяч анонимных результатов этого теста, можно привести забавную статистику по самым интересным вопросам и характеристикам, которая наверняка вас повеселит. Для анализа всех результатов был написан еще один увесистый скрипт на PHP. Ну, хватит унылого текста, перейдем к диаграммам! Дальше идет большое количество картинок.

Читать дальше »

Print This Post Пишем тривиальный стилер биткоинов

Суббота, 23. Ноябрь 2013
Раздел: Assembler, Windows, автор:

bitcoin
Давным-давно для WebMoney (и не только) был популярен крайне простой способ получить чужие финансы: подменить содержимое буфера обмена Windows, если в нём находится номер кошелька на свой номер. С введением множества степеней защит данный метод перестали использовать, да и эффективность была под вопросом, не говоря уже о необходимости заставить пользователя запустить стороннее ПО, которое будет осуществлять подмену.
Случай с Bitcoin отличается: подтверждения, по сути, отсутствуют, номера кошельков ещё более длинные, на конкретного пользователя не пожалуешься...
В общем, давайте реализуем простой софт, который будет анализировать содержимое буфера обмена и подменять его, если обнаружит там корректный адрес Bitcoin кошелька. Писать будем на MASM, чтобы было веселее.
Читать дальше »

Print This Post Качалка для сервиса Яндекс.Музыка

Вторник, 12. Ноябрь 2013
Раздел: Perl, автор:

Написал небольшой скрипт-качалку для сервиса Яндекс.Музыка.
Скрипт позволяет скачивать как отдельные композиции, так и альбомы или плейлисты целиком. Интерфейс консольный и выглядит следующим образом:
ya-downloader-ui
В процессе работы:
ya-downloader-work

Скрипт использует сторонние модули (умеет определять их отсутствие и сообщать об этом) и портированный с JavaScript на Perl алгоритм хэширования Яндекса (находится в отдельном файле YaHash.pm), он необходим для скачивания трека.

В общем пользуйтесь.

Скачать: ya-music