Pull to refresh
0
0
Vadim Toptunov @g0rd1as

Пользователь

Send message

Три компьютерные игры (по 30 байт каждая)

Reading time3 min
Views15K
Вдохновленная Shifticida (32 байта) и Самой маленькой гоночной игрой в мире (58 байт), я решила сделать Самую-самую маленькую компьютерную игру для x86. Вместо одной игры получились три. Увы, они не такие крутые, как гоночки, но зато они занимают всего по 30 байт каждая.
Под катом - исходные коды и ссылка на скачивание.

Список ресурсов для изучения Ассемблера

Reading time4 min
Views444K
Доброго времени суток!
Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…

… но оказалось, что найти материал по интересующей теме не так просто, как хотелось бы. Посему решено было создать на хабре пополняющийся пост-индекс статей/книг/мануалов/etc. об этом, несомненно, великом языке.
Под катом находится, собственно, список с краткими комментариями, разбитый по категориям.

UPD
В список начали добавляться ресурсы по программингу микроконтроллеров.
Читать дальше →

Анализ keygenme от TPoDT #2

Reading time5 min
Views2.8K
Всем доброго дня.
Это снова я, и снова несу темы reverse engineering в широкие массы. Так как, по некоторым причинам, я не могу освещать в своих статьях анализ коммерческих протекторов или программ, поэтому на сегодня нашим подопытным кроликом будет keygenme от группы T.P.o.D.T. Не сказать, что сложный, но пару часов не жалко было потратить на него.
Читать дальше

Анализ Crackme #1 от PE_Kill

Reading time9 min
Views13K

Предисловие



Я уже долгое время ничего не исследую, так сказать ушел на покой. Но тут мне на глаза попалась очередная поделка немало известного в определенных кругах PE_Kill'a. Т.к. мне довелось решать его предыдущую поделку в рамках CRACKL@B Contest 2010, которая в свою очередь была довольно интересна, я решил взглянуть на его новое «детище».

Что вас ждет под катом: подделка CRC32, брут ключа для RC4, факторизация для RSA, а также использование коллизии для MD4 и генерация двух разных сообщений с одинаковыми хешеми. Всё это и многое другое под катом.
Читать дальше

Обратная разработка коммерческой программы: кейген для Zuma Deluxe

Reading time11 min
Views35K



Вступление

Здравствуйте, Хабралюди.
Судя по последним статьям в блоге Assembler, тема кейгенов становится здесь весьма популярной. Что ж, внесу и я свои пять копеек.
Наш сегодняшний подопытный — игра Zuma Deluxe, на которую я никак не мог отгуглить себе кейген (не подумайте, что я игроман: на всё данное исследование меня вдохновил тов. k_d с его самоиграйкой для Zuma). И сразу дисклеймер: данный взлом от начала и до конца проделан в образовательных целях и не имеет целью нести убытки компании PopCap Games.
Читать дальше →

CRACKL@B Contest 2010. Анализ первого задания

Reading time8 min
Views9.6K

Заканчивался 2010 год, шли глобальные реформы на ресурсе. Это были смутные времена. И в это суровое время зарождается идея о создание местного турнира. Эта идея была очень радостно воспринята местным сообществом. Спустя некоторое время, было создано 3 задания (хотя планировалось 5), были выбраны члены жюри и система оценивания. И так, это началось.
Читать дальше →

Разбор простого криптографического keygenme

Reading time4 min
Views33K
Привет, хабрахабр.

Листая одним декабрьским вечером различные хабы, я заметил, что нигде давненько не бывало статей о реверсинге. А разборов crackme/keygenme – и подавно. И вдруг меня осенило: почему бы не написать свой туториал?



Тех, кого интересует разбор простенького криптографического keygenme и что же в итоге получилось, прошу под кат.

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

Анализ keygenme от Ra$cal на базе виртуальной машины

Reading time5 min
Views11K

0. Инфо


Страница KeygenMe на crackmes.de
Crackme with simple vm. Key check algorithm is simple, so main target — vm.
difficult of pcode is growing from start to end. first part seems like emulator, but then it looks like like machine with another logic, registers, commands =)
Good luck and have fun.
Difficulty: 4 — Needs special knowledge
Platform: Windows
Language: C/C++
Читать дальше →

Взламываем игру-головоломку «Сапер»

Reading time4 min
Views41K
Intro

Холодным зимним вечером, начитавшись статей об исследовании различного ПО и насмотревшись различного рода видео про взломы игр и прочее, у меня вдруг тоже возникло желание повозиться под дебагерром с чем-нибудь интересным. Крякингом я занимаюсь сравнительно давно, поэтому практический опыт имеется. Поначалу я, как и многие, просто искал различные CrackME в сети и взламывал их с целью обучения, затем перешел на взломы платных приложений(поиск/подбор ключей) и написание различного рода KeyGen`ов. В данный момент «набиваю руку» и пытаюсь оттачивать мастерство взлома.
Ну да ладно, это лирическое отступление от сути. Теперь определимся с некоторыми деталями.

В данной статье главным объектом внимания для нас будет компьютерная игра «Сапер».
Исследование и последующая отладка приложения происходят под Windows 7 x64 (реализация игры «Сапер» отличается в различных версиях OS Windows).
Читать дальше →

Исследование игры-головоломки «Сапёр» (продолжение)

Reading time4 min
Views16K
Продолжаем наше исследование игры «Сапёр» от Microsoft.

Данная статья является продолжением первой статьи.

О чем будет идти речь:
1) Взлом, основанный на переполнении буфера
2) Взлом игровых мин
3) Исследование архитектуры игры.

I

Откроем игру, следом за ней CE( Cheat Engine ). Присоединяемся к процессу игры:

image

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

Разбираемся в С, изучая ассемблер

Reading time11 min
Views93K
Перевод статьи Дэвида Альберта — Understanding C by learning assembly.

В прошлый раз Аллан О’Доннелл рассказывал о том, как изучать С используя GDB. Сегодня же я хочу показать, как использование GDB может помочь в понимании ассемблера.

Уровни абстракции — отличные инструменты для создания вещей, но иногда они могут стать преградой на пути обучения. Цель этого поста — убедить вас, что для твердого понимания C нужно также хорошо понимать ассемблерный код, который генерирует компилятор. Я сделаю это на примере дизассемблирования и разбора простой программы на С с помощью GDB, а затем мы используем GDB и приобретенные знания ассемблера для изучения того, как устроены статические локальные переменные в С.
Читать дальше →

Настройка WinDbg

Reading time3 min
Views97K
WinDbg — позволяет отлаживать 32/64 битные приложения пользовательского уровня, драйвера, может быть использован для анализа аварийных дампов памяти, WinDbg поддерживает автоматическую загрузку отладочных символов, имеется встроенный скриптовый язык для автоматизации процесса отладки, скачать отладчик можно тут.
Читать дальше →

Старая, добрая «The Matrix» или визуализатор для матрицы версии один

Reading time5 min
Views35K
На Хабре неоднократно появлялись статьи с описанием приложения из известного фильма «The Matrix». Как известно, все они принадлежат так называемому классу View Matrix, позволяют визуализировать состояние мира в котором проживают главные герои фильма. Но в отличие от предыдущих версий данных программ для ЭВМ, я хочу рассказать о визуализаторе матрицы первой версии (о которой в фильме упоминал герой с именем Морфеус в первой части трилогии).



Дорогие друзья, эта статья посвящена всем кто помнит что такое Dos, видео режим 80x25 и прочие «замечательные мелочи» олд скульного разработчика приложений. А так же кому интересно с этим познакомиться.
Follow the white rabbit.

Как понять ассемблер для AVR

Reading time4 min
Views105K
Всем добрый вечер! Веду свою трансляцию из уютного мира, который называется «ассемблер». Сразу поясню что тема касается микроконтроллеров AVR — и я пока ещё не знаю, пригодится ли этот пост тем, кто хочет использовать ассемблер для любой другой задачи. Дело в том, что я буквально несколько дней назад начал учить ассемблер с нуля — нужно сделать одно устройство — и я решил сделать в нём всё самостоятельно. Так вот — в один прекрасный день понял, что учить ассемблер абсолютно бесполезно! Ассемблер можно только понять! То есть всем тем, кто хочет программировать на ассемблере я настоятельно рекомендую детально вникнуть в то, каким образом ФИЗИЧЕСКИ работает микроконтроллер, а затем уже изучать тонкости команд.
Так вот, я пожалуй начну небольшой цикл статей, в которых буду с самого начала рассказывать как именно я понял те или иные вещи в программировании на ассемблере — думаю для тех, кто вообще не понимает что такое асм я буду как раз таким «переводчиком» с языка тех, кто в этом деле очень хорошо шарит.
Читать дальше →

Как понять ассемблер. Часть 2. Микроконтроллер

Reading time2 min
Views37K
Ну чтож, пора копнуть чуть глубже. Понимание самого ассемблера по мне так не мыслимо без понимания того, как работает микроконтроллер. Оставим наших персонажей в комнате и вновь воспользуемся нашим воображением.
Итак сейчас нужно будет просто представлять то, о чём я напишу.
***
Представь, что ты сидишь внутри микроконтроллера. Скажем внутри ATmega 8. Только микроконтроллер это такая большая прямоугольная белая комната, а ты сидишь в удобном кресле в самом её центре. Эта комната — твой личный центр управления — ты из неё управляешь тем, что снаружи. Пока неважно ЧЕМ — пока важно КАК.
Читать дальше →

OllyDbg 2.01

Reading time15 min
Views112K
image

Релиз OllyDbg 2.01 прошел незаметно и не был освещен на Хабре. Вместе с 2 версией автор выпустил дизассемблер по лицензии GPL v3. В конце октября была анонсирована будущая поддержка х64.
Читать дальше →

Решение Zeronights Crackme 2013 и причём тут матрицы

Reading time4 min
Views7.5K
Привет всем. Недавно на Хабре появилась статья, расписывающая взлом crackme от лаборатории Касперского с конференции ZeroNights 2013. У меня тоже получилось взломать этот crackme, но я использовал несколько иной подход для создания ключей, чем Дарвин, потому что заметил, что в crackme используются матричные операции. В отличие от Дарвина я использовал только дебаггинг при помощи OllyDbg.
Если заинтересовало, прошу под кат

Игра в 30 команд Ассемблера

Reading time29 min
Views62K
В прошлом году были популярны темы, как написать программу за 30 строк кода. Все примеры были сделаны на JavaScript. Для запуска таких программ требуется не только веб страница, но и браузер, разные библиотеки, ядро ОС. На самом деле работают не 30 строк кода, а десятки, сотни мегабайты программного кода, находящиеся в памяти компьютера.
А можно ли написать не полностью бесполезную программу за 30 строк ассемблера, без лишних библиотек и мегабайт ОС?
В этой статье я опишу, как можно сделать крестики-нолики за 30 строк ассемблера. UPD Теперь всего за 20 строк. UPD2 И 18 или 16 строк без единого условного ветвления.
Читать дальше →

Реверс-инжиниринг для самых маленьких: взлом кейгена

Reading time8 min
Views112K
Этот пост будет интересно действительно тем, кто только начинает интересоваться этой темой. У людей с опытом он, возможно, вызовет только зевки. За исключением разве что, может быть, эпилога
Реверс-инжиниринг в той менее легальной части, где он не касается отладки и оптимизации собственного продукта, касается в том числе и такой задачи: «узнать, а как у них это работает». Иначе говоря, восстановление исходного алгоритма программы, имея на руках ее исполнимый файл.
Для того, чтобы держаться азов и избежать некоторых проблем — «взломаем» не что-нибудь, а… кейген. В 90% он не будет запакован, зашифрован или иным способом защищен — в том числе и нормами международного права…
Читать дальше →

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity