Tetris

В связи с недавним юбилеем серии игр Mario, отдыхом от изучения WinDDK и появлением свободного времени решил написать свою реализацию олдскульной игры Тетрис.

Реализация обладает всеми или практически всеми фишками старых тетрисов:
[+] Хардкорная музыка (спасибки Kaimi)
[+] DOS-style интерфейс (консоль)
[+] Пауза, подсчет очков, различные сложности и т.д.
[+] После достижения 9-го уровня сложности открывается новый набор фигурок

Скачать: ZIP (исходники, ресурсы, exe в архиве).

Ностальгируйте на здоровье!

И напоследок:

MASM32: Часть 3 — Брутальная бессердечность

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


В общем, сначала идея была проста... [click]

Но потом...


Программка будет сканировать все порты из указанного диапазона на заданном ip-адресе и выводить информацию в лог. Многопоточность делать не будем, но один поток всё равно создадим, чтобы при сканировании форма не висела.
Читать далее «MASM32: Часть 3 — Брутальная бессердечность»

Simple PE Dumper

Simple PE Dumper 1.0.

Программа, позволяющая вытянуть немного информации из исполняемых PE-файлов, а также PE .NET-файлов.

Дампит:

[+] Some DOS & NT-headers info
[+] DATA_DIRECTORY
[+] Section table
[+] Security directory
(все сертификаты, содержащиеся в файле)
[+] Debug directory
(+COFF / частично CodeView / Misc)
[+] Import directory
[+] Bound import directory
[+] Delay import directory
[+] Relocation directory
[+] Export directory
[+] TLS directory (incl. callbacks)
[+] Config directory (incl. SE Handlers)
[+] Resource directory (full STRINGTABLE and MESSAGETABLE dump)
[+] COM descriptor (full dotnet headers, streams and tables dump)

Способен корректно показать инфо о файлах, запакованных upack'ом, в отличие от многих других программ редактирования PE, а также лишен багов CFF explorer в плане просмотра информации о .NET-таблицах.

Для создания дампа просто перетащите PE-файл на форму открытого Simple PE Dumper'а.

Скачать: Simple PE Dumper

MASM32: Немного основ ассемблера

Эта статья идет прямиком в дополнение к предыдущей. Я не рассказал про самые основы ассемблера. Хотя в интернете полно материала на эту тему, я все равно решил ее немного затронуть. Что же нужно знать для начала, чтобы понимать и писать несложные программы или ассемблерные вставки?
Читать далее «MASM32: Немного основ ассемблера»

MASM32: Начало

Решил начать цикл статей по ассемблеру, и, в частности, по MASM32. Пригодятся эти мануалы с примерами тем, кто хочет поднять свои навыки программирования и развить умение программировать на ассемблере. Пакет MASM32 - это не просто голый ассемблер. В нём есть огромное множество облегчающих разработку софта вещей - пользовательские макросы, встроенные функции и макросы, дебаггер и прочее, и обо всём этом я буду рассказывать. Конечно, читать такие статьи будет гораздо легче тем, кто уже умеет программировать на каком-нибудь языке. Если вы программируете на каком-нибудь говне вроде Visual Basic, или фанатеете от перетаскивания компонентов и кнопочек на формы в дельфи или Borland C++ - не расстраивайтесь, я расскажу, как можно перетаскивать кнопочки и в ассемблере. Разумеется, никаких стандартных облегчающих жизнь компонентов здесь не будет, но это побудит разобраться с WinAPI - огромной кладезью полезных функций, которые способны делать всё, начиная от чтения данных из сокета и заканчивая отображением окон.
Читать далее «MASM32: Начало»

Делаем собственный инжектор

Давным-давно, во времена мифов и легенд, когда древние Боги были мстительны и жестоки и обрушивали на программистов все новые и новые проклятия... На хабре была опубликована статья про сплайсинг.

В качестве примера в статье был приведен довольно масштабный код, который воспринимался не особо легко. Захотелось разобраться в процессе инжекта, а также написать более простой и менее громоздкий код.
Вкратце, инжектинг - это подгрузка нашей библиотеки в сторонний процесс, а сплайсинг - перехват какой-либо функции (мы перехватывали WinAPI) и модификация её работы средствами этой самой библиотеки.
Пример будет состоять из двух частей: 1 - библиотека, 2 - инжектор, который будет внедрять библиотеку в целевой процесс. Библиотеку будем писать на masm, что позволит в разы сократить объемы кода, а инжектор - на Си.
Читать далее «Делаем собственный инжектор»

Simple mp3 broadcaster

Простой консольный скрипт на Perl'е для вещания mp3 потока в сеть. Проигрывает треки случайным образом из заданной директории.

Желающие также могут воспользоваться .bat файлом и netcat для этих целей:

Скачать: pl+bat

Как запускать скрипты через консоль

Довольно часто мне задают вопрос о том, как запустить скрипт через консоль Windows. Многие запускают скрипты двойным кликом и не могут понять, почему скрипт прекращает свою работу. Поэтому решил написать небольшую инструкцию по запуску Perl-скриптов через консоль.
Читать далее «Как запускать скрипты через консоль»

Proxy Checker Lite 1.4

Написал простую программу для проверки HTTP-прокси и socks5-cерверов (MASM32). Характеристики:

[+] Проверка списка HTTP-прокси/SOCKS5 на валидность по отношению к заданному хосту (ищет в ответе прокси заданную строку)
[+] Многопоточный (до 100 потоков)
[+] Позволяет задать таймауты прокси по чтению и записи
[+] Позволяет задать, сколько байт считывать
[+] Любой разделитель адреса и порта прокси
[+] Продвинутые настройки - задание service_uri, http-referer, cookies, отправляемых данных, метода - GET/POST. С помощью правильного использования этих опций можно настроить чекер как простой кликер или программу для накрутки голосований.
[+] В версии 1.1 - проверка прокси на анонимность
[+] В версии 1.3 - сохранение/загрузка настроек в ini-файл
[+] В версии 1.3 - более удобная проверка на анонимность
[+] В версии 1.3 - актуализированы дефолтные настройки
[+] В версии 1.4 - теперь длинные адреса прокси-серверов не обрезаются и не разбиваются на две части

Скачать: ZIP
Update (версия 1.1): ZIP
Update (версия 1.2): ZIP
Update (версия 1.3, теперь банановый и с сорсами!): ZIP
Update (версия 1.4): ZIP