ROP
04.11.2024, 20:12
https://forum.antichat.xyz/attachments/29115120/img_65b7ccbe28.png
Всем салют!
Сегодня мы с вами разберём крякми для самых начинающих в реверсе. Написан он на C под Win, а опубликован на crackmes.one.
Название: StupidCrackMe
Автор: Funny_Gopher
Ссылка: Crackmes
Сложность: 1.0
Качество: 2.8
Язык/технология: С
Платформа: Windows
Архитектура: x86
Пароль к архиву с заданием:
crackmes.one
1. Быстрый статический анализ
Первым делом проведём быстрый статический анализ файла. Это значит, что мы не будем его запускать в отладчике. Хотя будет спойлером, что тут даже отладка не нужна. Быстрый из-за того, что сама сложность лёгкая. Вряд ли будет что-то из антиотладки или упаковки/протекторов.
Файлы с crackmes.one рекомендуется проверять на VirusTotal и запускать в ВМ. Бывали случаи, что попадается вредоносное ПО вместо самих крякми.
Да и вообще все потенциально опасные файлы запускаем в ВМ + VirusTotal
https://forum.antichat.xyz/attachments/29115120/1730732224470.png
Линк на результат. Всё гуд.
Помимо исполняемого файла есть ещё и PDB. Но о нём чуть позже. Теперь отправим файл на анализ в Detect It Easy. Для такой сложности нас будет интересовать в основном компилятор, да язык и технологии, с помощью которых файл создан.
https://forum.antichat.xyz/attachments/29115120/1730732240090.png
Компилятор - MSVC (Microsoft Visual C/C++). Значит, файл на языке Си или C++. Приложение 32-битное, консольное. Можно также посмотреть на строки в файле.
https://forum.antichat.xyz/attachments/29115120/1730732250394.png
Из чего-то необычного в строках сразу замечаем это:
https://forum.antichat.xyz/attachments/29115120/1730732258614.png
Но лучше будет посмотреть всё в дизассемблере. Будем использовать IDA Free. Гайд по её установке можно прочитать тут (https://forum.antichat.xyz/threads/1644194/).
2. Анализ программы в IDA
Открываем IDA.
https://forum.antichat.xyz/attachments/29115120/1730732282827.png
Жмём "New".
https://forum.antichat.xyz/attachments/29115120/1730732275334.png
Теперь OK. Настроек по умолчанию хватает в 90% случаев решения Crackme.
https://forum.antichat.xyz/attachments/29115120/1730732313992.png
Теперь IDA обнаружила, что этот EXE был собран вместе с отладочной информацией, что хранится по пути на скрине в PDB-файле.
PDB-файл - это файл базы данных, который содержит отладочную информацию для исполняемых файлов, таких как EXE или DLL и включает в себя:
Символы для функций и переменных.
Информацию о строках исходного кода.
Данные о типах и структурах.
Проще говоря, упрощает жизнь при отладке.
Нажмём Yes. IDA автоматически найдёт его в той же директории, что и наш EXE-файл.
https://forum.antichat.xyz/attachments/29115120/1730732329324.png
https://forum.antichat.xyz/attachments/29115120/1730736000770.png
С этой функции начнётся выполнение
_main
(
main
). Нам нужно 2 раза кликнуть левой кнопкой мыши по
_main
для перехода к её коду. В этой функции будет код самого крякми.
https://forum.antichat.xyz/attachments/29115120/1730736032599.png
Тут видны стандартные функции из языка Си -
printf
,
gets
,
strcmp
и
getchar
. Сейчас мы видим дизассемблированный код. Но можно представить его в виде кода на Си через F5. Точность, в отличие от дизассемблера, не 100%.
https://forum.antichat.xyz/attachments/29115120/1730736061521.png
Нажимаем
\
, чтобы убрать приведение типов. В этом простом задании оно нам ни к чему.
https://forum.antichat.xyz/attachments/29115120/1730736080424.png
Через
printf
выводятся приветственные сообщения, через
gets
программа получает от нас ввод. Далее через
strcmp
сравнивает ввод с нужным и выводит сообщение об успехе/провале. Если хотите понять, где в ассемблере какой блок из языка Си, то нажмите ПКМ, а затем сюда.
https://forum.antichat.xyz/attachments/29115120/1730736098573.png
https://forum.antichat.xyz/attachments/29115120/1730736121436.png
Подтверждаем, что комментарии в дизассемблированном коде будут уничтожены и заменены на комменты от IDA. Мы всё равно не оставляли никаких комментариев.
https://forum.antichat.xyz/attachments/29115120/1730736141766.png
Кстати, вот тут правильный пароль - с чем сравнивается наш ввод.
https://forum.antichat.xyz/attachments/29115120/1730736164144.png
Крякми решён!
https://forum.antichat.xyz/attachments/29115120/1730736179151.png
https://forum.antichat.xyz/attachments/29115120/1730736191162.png
Всем салют!
Сегодня мы с вами разберём крякми для самых начинающих в реверсе. Написан он на C под Win, а опубликован на crackmes.one.
Название: StupidCrackMe
Автор: Funny_Gopher
Ссылка: Crackmes
Сложность: 1.0
Качество: 2.8
Язык/технология: С
Платформа: Windows
Архитектура: x86
Пароль к архиву с заданием:
crackmes.one
1. Быстрый статический анализ
Первым делом проведём быстрый статический анализ файла. Это значит, что мы не будем его запускать в отладчике. Хотя будет спойлером, что тут даже отладка не нужна. Быстрый из-за того, что сама сложность лёгкая. Вряд ли будет что-то из антиотладки или упаковки/протекторов.
Файлы с crackmes.one рекомендуется проверять на VirusTotal и запускать в ВМ. Бывали случаи, что попадается вредоносное ПО вместо самих крякми.
Да и вообще все потенциально опасные файлы запускаем в ВМ + VirusTotal
https://forum.antichat.xyz/attachments/29115120/1730732224470.png
Линк на результат. Всё гуд.
Помимо исполняемого файла есть ещё и PDB. Но о нём чуть позже. Теперь отправим файл на анализ в Detect It Easy. Для такой сложности нас будет интересовать в основном компилятор, да язык и технологии, с помощью которых файл создан.
https://forum.antichat.xyz/attachments/29115120/1730732240090.png
Компилятор - MSVC (Microsoft Visual C/C++). Значит, файл на языке Си или C++. Приложение 32-битное, консольное. Можно также посмотреть на строки в файле.
https://forum.antichat.xyz/attachments/29115120/1730732250394.png
Из чего-то необычного в строках сразу замечаем это:
https://forum.antichat.xyz/attachments/29115120/1730732258614.png
Но лучше будет посмотреть всё в дизассемблере. Будем использовать IDA Free. Гайд по её установке можно прочитать тут (https://forum.antichat.xyz/threads/1644194/).
2. Анализ программы в IDA
Открываем IDA.
https://forum.antichat.xyz/attachments/29115120/1730732282827.png
Жмём "New".
https://forum.antichat.xyz/attachments/29115120/1730732275334.png
Теперь OK. Настроек по умолчанию хватает в 90% случаев решения Crackme.
https://forum.antichat.xyz/attachments/29115120/1730732313992.png
Теперь IDA обнаружила, что этот EXE был собран вместе с отладочной информацией, что хранится по пути на скрине в PDB-файле.
PDB-файл - это файл базы данных, который содержит отладочную информацию для исполняемых файлов, таких как EXE или DLL и включает в себя:
Символы для функций и переменных.
Информацию о строках исходного кода.
Данные о типах и структурах.
Проще говоря, упрощает жизнь при отладке.
Нажмём Yes. IDA автоматически найдёт его в той же директории, что и наш EXE-файл.
https://forum.antichat.xyz/attachments/29115120/1730732329324.png
https://forum.antichat.xyz/attachments/29115120/1730736000770.png
С этой функции начнётся выполнение
_main
(
main
). Нам нужно 2 раза кликнуть левой кнопкой мыши по
_main
для перехода к её коду. В этой функции будет код самого крякми.
https://forum.antichat.xyz/attachments/29115120/1730736032599.png
Тут видны стандартные функции из языка Си -
printf
,
gets
,
strcmp
и
getchar
. Сейчас мы видим дизассемблированный код. Но можно представить его в виде кода на Си через F5. Точность, в отличие от дизассемблера, не 100%.
https://forum.antichat.xyz/attachments/29115120/1730736061521.png
Нажимаем
\
, чтобы убрать приведение типов. В этом простом задании оно нам ни к чему.
https://forum.antichat.xyz/attachments/29115120/1730736080424.png
Через
printf
выводятся приветственные сообщения, через
gets
программа получает от нас ввод. Далее через
strcmp
сравнивает ввод с нужным и выводит сообщение об успехе/провале. Если хотите понять, где в ассемблере какой блок из языка Си, то нажмите ПКМ, а затем сюда.
https://forum.antichat.xyz/attachments/29115120/1730736098573.png
https://forum.antichat.xyz/attachments/29115120/1730736121436.png
Подтверждаем, что комментарии в дизассемблированном коде будут уничтожены и заменены на комменты от IDA. Мы всё равно не оставляли никаких комментариев.
https://forum.antichat.xyz/attachments/29115120/1730736141766.png
Кстати, вот тут правильный пароль - с чем сравнивается наш ввод.
https://forum.antichat.xyz/attachments/29115120/1730736164144.png
Крякми решён!
https://forum.antichat.xyz/attachments/29115120/1730736179151.png
https://forum.antichat.xyz/attachments/29115120/1730736191162.png