Введение в инструменты обратного проектирования

Метод обратного инжиниринга первоначально применялся только к оборудованию, но теперь также к компьютерам, базам данных и даже человеческой ДНК. В области кибербезопасности обратный инжиниринг может быть использован для определения особенностей нарушения того, как злоумышленник получил доступ к сети и как система была нарушена. Киберпреступники используют весь спектр тактик взлома компьютеров, чтобы проникнуть в корпоративные сети, стоящие за атакой. У него есть конкретная цель, опыт, вдохновение, структура и финансирование. В этом смысле обратный инжиниринг помогает нам определить их тактику в будущем, чтобы предотвратить это.

В Kali Linux доступно несколько инструментов обратного инжиниринга. Вот некоторые из наиболее важных инструментов, используемых в обратном инжиниринге Kali Linux.

Инструменты для обратного проектирования

1. МАР
IDA стала фактическим руководством по изучению агрессивного программного обеспечения, тестированию уязвимостей и валидации COTS. Он предлагает широкий спектр функций и отлично работает на всех платформах, таких как платформы Windows, Linux и Mac OS X. Он также имеет несколько плагинов, которые позволяют расширить функциональные возможности демонтажа. IDA 5.0 доступна бесплатно на сайте и может быть легко загружена. В 2001 году IDA Pro была удостоена 18-й премии технического журнала PC Magazine. Это был архитектурный предшественник Microsoft. Сеть.
Основным преимуществом этого метода является то, что любой аспект отображаемых данных может быть изменен в интерактивном режиме:
• Укажите имена функций, переменных и т. Д.
• Построить блок-схемы и диаграммы кода для упрощения понимания дизассемблированного кода.
• Используйте информацию типа аргументов функции и определения структуры C ++ для автоматического именования аргументов и переменных.
• Распознавать и называть стандартные библиотечные функции в коде сборки автоматически.

2. Nudge4j
Nudge4j - это небольшой фрагмент кода Java, который позволяет пользователю получить доступ к вашему приложению Java. Он предназначен для использования во время разработки для создания среды для тестирования программного обеспечения на работающем приложении. Кроме того, регрессионные проверки и интеграционный анализ для реализации некоторых ключевых функций позволяют поддерживать фрагмент кода Nudge4j перед тем, как переходить к финальной версии.
Как будто браузер был более умным пультом дистанционного управления для управления вашей Java-программой из браузера. Чтобы запустить JVM, отправив код браузера, ознакомьтесь с пробной версией программного обеспечения.

3. OllyDbg
OllyDbg - это 32-битный уровень ассемблера отладчика Microsoft Windows. Фокус анализа двоичного кода делает его особенно полезным там, где источник недоступен. OllyDbg является условно-бесплатным приложением, но вы можете скачать его бесплатно и использовать.
Некоторые особенности OllyDbg приведены ниже
1. Анализ кода - отслеживает записи, обнаруживает переключатели процедур, вызовы API, таблицы, константы циклов и строки.
2. Папка поиска объектов - находит объекты и подпрограммы библиотеки.
3. Сохраняйте патчи между сессиями, возвращайте их в исполняемые файлы и исправляйте обновления.
4. 3DNow, MMX и инструкции для типов и расширений данных SSE, включая Athlon.
5. Признает сложные структуры, такие как приглашение к разбирательству.
6. Отслеживает выполнение программы, регистрирует известные аргументы функций.
7. Поиск неправильных команд и маскирование двоичных последовательностей.
8. Проверяет и изменяет память, устанавливает точки останова и приостанавливает работу программы на лету.
9. Введите патчи между сессиями, восстановите их в исполняемые файлы и исправьте обновления.

4. Вальгринд:
Valgrind - это пакет для профилирования и отладки Linux. Устраняя периоды поиска ошибок и делая программы более надежными, мы можем устранить ошибки управления памятью и многопоточности с помощью этого инструмента. Кроме того, может быть выполнено подробное профилирование, чтобы ускорить процессы программы и создать новые инструменты с использованием Valgrind. Распределение Valgrind в настоящее время состоит из шести инструментов для производства
• Memcheck (это детектор ошибок памяти)
• DRD и Helgrind (это двухпоточный детектор ошибок)
• cachegrind (профилировщик ветки и кеша)
Индустрия реверс-инжиниринга рассматривается производителями как существенное средство поддержания конкуренции, или некоторые могут считать ее средством понимания ошибок проектирования и доработки. Однако Kali Linux предлагает нам несколько очень важных и известных инструментов для реверс-инжиниринга. Кроме того, есть много других инструментов для реверс-инжиниринга, но эти инструменты уже включены и выходят из коробки Kali Linux.

5. Dex2jar
Коллекция инструментов и библиотек, которые можно использовать для улучшения разработки Android. Декс и Ява. файлы классов. Dex2jar включает в себя коллекцию библиотек Java, которые упрощают задачи разработки, связанные с Android, и упрощают проекты APK.
Вот некоторые важные компоненты Dex2jar:

  1. Формат исполняемого файла Dalvik (.dex / .odex) предназначен для чтения dex. У этого есть API, подобный ASM в облегченном.
  2. Декс-переводчик предназначен для конвертации. Инструкция dex читает формат файла dex и преобразует его в формат ASM после оптимизации некоторых из них.
  3. Dex-это используется dex-translation для представления инструкций для dex.
  4. D2j-smali разбирает dex на малые и собирает dex из smali. Различная реализация smali / baksmali, тот же синтаксис, но мы поддерживаем escape-стиль в стиле «Lcom / dex2jar \ t \ u1234».

6. Андрогард
Androguard - это в первую очередь приложение, написанное на питонах, для игры с * Dex / Odex (.dex) (дизассемблировать, сломать), * Android Assets (.arsc). * XML для Android (.xml) * Dex / Odex (виртуальная машина Dalvik), * APK (.apk). Он также поставляется с управлением питоном для OSX / Linux / / Windows.
Некоторые важные особенности Androguard приведены ниже.
1. Первый собственный декомпилятор Dalvik (DAD) декомпилируется из байт-кода в исходный код Java.
2. Android-сервер с открытым исходным кодом.

Вывод

С помощью этих устройств обратного инжиниринга вы сможете пользоваться самыми современными услугами, поскольку это означает, что вам не нужно копировать исследования, которые кто-либо делал, и что вы можете выбрать систему. Итак, в этой статье мы увидели разные инструменты обратного инжиниринга. Я надеюсь, что вы найдете эту статью полезной.

Рекомендуемые статьи

Это руководство по инструментам обратного проектирования. Здесь мы обсуждаем введение и инструменты для обратного проектирования. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Обратный инжиниринг с Python
  2. Что такое разработка программного обеспечения?
  3. Что такое Nmap?
  4. Установить Кали Linux
  5. Обратный в JavaScript