Это первая статья Инструменты и базовый обратный инжиниринг, подготовленная RPISEC, которая является подразделом курса Современная эксплуатация двоичных файлов.
Ссылка лекций: - http://security.cs.rpi.edu/courses/binexp-spring2015/
Все лекционные материалы и другие необходимые файлы доступны по указанной выше ссылке для ознакомления.
_________________________________________________ Следующая запись ➡️
crackme0x00a
Сбор информации с помощью команды file
$file crackme0x00a
- Это 32-битный исполняемый файл LSB (младший байт).
- Это означает, что файл имеет прямой порядок байтов.
Сбор информации с помощью инструмента rabin2.
$rabin2 -I crackme0x00a
Взлом файла с помощью строк
$strings crackme00x0a
Взлом файла с помощью xxd
$xxd crackme0x00a
Взлом файла с помощью rabin2
Взлом файла с помощью ltracre
$ltrace ./crackme0x00a
ltrace в основном перехватывает и выводит системные вызовы, выполняемые программой.
Взлом файла с помощью strace :(
strace ./crackme0x00a
strace используется для отслеживания системных вызовов. Он никогда не будет отслеживать сравнение строк, как strncmp, поскольку для этого не требуются системные вызовы.
Взлом файла с помощью radare2
$radare2 crackme0x00a [0x08048430]> aaa [0x08048430]> pdf @ main
- аа: -анализируйте все.
- ааа: - проанализировать все с дополнительной информацией.
- pdf: - функция распечатки и разборки.
radare2 дает представление о коде.
- Есть указатель типа * s2 char, который указывает на некоторые строки, то есть на наш ввод (пароль). * s1 - это «g00dJ0B!», на следующем шаге оба сравниваются с помощью strcmp.
Взлом файла с помощью gdb-peda
gdb-peda похож на аддон для gdb, вы можете установить его с GitHub.
$gdb crackme0x00a >gdb-peda$ disassemble main
disassemble main покажет основную функцию двоичного файла.
На ‹+70› есть инструкция strcmp, поэтому давайте установим точку останова в этом месте и запустим программу.
gdb-peda$ break *0x0804852a gdb-peda$ run
Введите пароль, чтобы протестировать программу, в данном случае я ввожу инкогнито в качестве пароля.
«Инкогнито» сравнивается с «g00dj0B!», Gdb-peda также показывает некоторые аргументы предположения.
Спасибо за внимание! Если вам понравилась эта история, пожалуйста, нажмите кнопку 👏 и поделитесь ею, чтобы помочь другим! Не стесняйтесь оставлять комментарии 💬 ниже. Есть отзывы? Давайте подключимся к Твиттеру.