Это первая статья Инструменты и базовый обратный инжиниринг, подготовленная 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 также показывает некоторые аргументы предположения.

Спасибо за внимание! Если вам понравилась эта история, пожалуйста, нажмите кнопку 👏 и поделитесь ею, чтобы помочь другим! Не стесняйтесь оставлять комментарии 💬 ниже. Есть отзывы? Давайте подключимся к Твиттеру.

❤️ от inc0gnito