Print This Post Пакет для компиляции MASM32

Четверг, 27. Август 2009
Раздел: Assembler, автор:

Многие личности в комментариях на блоге спрашивают, как скомпилировать какой-нибудь исходник masm32. Чтобы решить этот вопрос, собрал небольшой комплект для быстрой компиляции, не требующий установки. Комплект содержит 64-байтный стаб, ассемблер последней версии, патченный линкер, не оставляющий в exe-файлах сигнатуры с информацией о компьютере. Бинарные файлы будут очень маленького размера.
Читать дальше »

Print This Post Библиотека для работы с http

Суббота, 22. Август 2009
Раздел: Assembler, автор:

Написал небольшую библиотеку на ассемблере (MASM32) для работы с http-протоколом.
Читать дальше »

Print This Post Пишем плагины для Winamp’а

Четверг, 30. Июль 2009
Раздел: Assembler, автор:

Совсем недавно я освоил написание плагинов для этого проигрывателя. Следует отметить, что официального SDK от NullSoft нет, и эта компания изредка выдает общественности куски документации по своему плееру. Некоторые описанные возможности не работают или работают неправильно, некоторые совсем плохо прокомментированы, поэтому мне пришлось много экспериментировать, чтобы написать нечто рабочее. Кстати, пример написанного мной плагина вместе с полностью работоспособным сервисом ведения статистики прослушиваний и создания подписей-картинок для форумов можно посмотреть тут: MusicSign.
Существует достаточно всевозможных тонкостей написания плагинов для WinAmp'а, и я постараюсь их описать в этой статье. Примеры буду приводить на ассемблере MASM32 (собственно, сами плагины я на нем и пишу), но примеры будут несложные, поэтому знающим c/c++ и немного Win32 API будет легко их понять.
Читать дальше »

Print This Post Новости с фронта

Пятница, 3. Июль 2009
Раздел: Assembler, PHP, автор:

Давно не было статей, но не подумайте ничего плохого, мы помним читателей и заботимся о них.
Итак, данный пост посвящен исследованию dx'а в области создания плагинов для Winamp. Вообще, сначала хотелось сделать полезный нам плагин (с функциями сокс бота например), но из-за благочестивости главного и единственного разработчика от данной затеи пришлось отказаться. Плагин был написан и отлажен за несколько дней, об особенностях создания которого dx потом расскажет, если захочет. И вместе с данным плагином мы представляем вам сервис - http://musicsign.ru, ведущий удобную статистику ваших предпочтений в музыке и генерирующий настраиваемую подпись для форумов, которая отображает текущий трек в винампе. Сервис только-только создан и ещё не обладает широкими функциональными возможностями, но со временем они будут расширены. Пользуйтесь, комментируйте, предлагайте идеи по улучшению сервиса.
За сим прощаюсь с вами от себя и dx'a на несколько недель, ибо отпуск. Желаю всем поменьше сидеть в интернете и побольше времени проводить на улице. Искренне ваши Kaimi и пожелавший остаться инкогнито dx.

Print This Post Универсальный конвертер текста 1.0

Вторник, 23. Июнь 2009
Раздел: Assembler, автор:

Очередной релиз от меня - программка для конвертации текста в разные представления и вычисления хэшей, написанная на ассемблере (masm32).
Имеется быстрое копирование и вставка текста, сохранение и открытие текстовых файлов.

Поддерживает конвертацию:
* Text -> URLEncode
* Text -> String.fromCharCode (ascii)
* Text -> String.fromCharCode (utf)
* Text -> base64
* Text -> MySQL char
* Text -> HEX
* Text -> BIN
* Text -> chr()
* Text -> MSSQL char
* Text -> PostgreSQL
* Text -> MD5
* Text -> SHA1
* Text -> &#xxx; (ascii)
* Text -> &#xxx; (utf)
* Text -> \xhh
* Text -> %XX
* Text -> VB chr$()
* Text -> C# (char)
* Text -> Транслит
* URLEncoded -> Text
* base64 -> Text

Скриншот:

Скачать exe (10кб) и исходные коды: ZIP

В общем исходный код программки ничем не отличается от тех, что я выкладывал раньше, но есть несколько интересных особенностей, которые я опишу дальше.
Читать дальше »

Print This Post Как сделать BSOD из User-mode

Воскресенье, 17. Май 2009
Раздел: Assembler, автор:

Наткнулся на забавный исходник на одном китайском сайте, где показано, как можно сделать BSOD (Blue Screen of Death, синий экран смерти) в Windows из User-Mode (ring 3) без всякого Native API:

Код на c++:

Код на ассемблере (переписал с си++ для уменьшения размера, весит всего 1кб):

Код проверен и работает на WinXP SP3 и Windows Vista SP1. На Windows 7 не работает, пофикшено, на XP SP2 тоже вроде бы не работает.

UPD: обнаружился код на c++, который способен вызвать BSOD на Win XP SP2, Win 2003 SP1 и Win NT SP4 (Discovered on 23.12.2004 by YuraN).
Читать дальше »

Print This Post Работа с антикапчей на ассемблере

Воскресенье, 10. Май 2009
Раздел: Assembler, автор:

По просьбам некоторых людей, да и просто для себя, решил написать функции для работы с антикапчей (anti-captcha.com) на ассемблере.
Если кто не знает, anti-captcha – это сервис, позволяющий распознавать капчи за небольшую плату (1$ за 1000 штук). Качество распознавания, как правило, 90%, время ожидания обычно не превышает 20 секунд.
Функции для работы с сервисом сразу решил проектировать таким образом, чтобы они могли нормально без конфликтов работать во много потоков одновременно.
Для этого необходимо использовать локальные переменные для чтения и записи, а глобальные переменные (из секции данных) можно только читать, но не изменять.
Кроме того, при работе с общими переменными или ресурсами необходимо применять какой-нибудь механизм, помогающий избегать конфликтов. Я использовал мьютексы (что это такое, объясню дальше).
Программу для тестирования я сделал таким образом – можно открыть несколько файлов (от 1 до 40) с картинками и одновременно послать их на распознавание (по одной картинке на поток).
Получилось следующее:

Кроме того, я создал dll с процедурами для работы с антикапчей, которую может импортировать любая программа.
Читать дальше »