Ресурси зворотного проектування

2 травня 2023 2 хвилин Автор: Cyber Witcher

Ресурси зворотного реверсування

Основним результатом діяльності групи розробників є не діаграми, а програмне забезпечення, тому моделі і засновані на них реалізації повинні відповідати один одному з мінімальними витратами по підтриманню синхронізації між ними. Найчастіше розроблені моделі перетворяться в програмний код. Зворотним проектуванням (Reverse engineering) називається процес перетворення в модель коду, записаного на якій-небудь мові програмування. В результаті цього процесу ви отримуєте величезний обсяг інформації, частина якої знаходиться на більш низькому рівні деталізації, ніж необхідно для побудови корисних моделей. У той же час зворотне проектування ніколи не буває повним. Справа в тому, що пряме проектування, яке передує зворотньому проектуванню, веде до втрати інформації, так що повністю відновити модель на основі коду не вдасться, якщо тільки інструментальні засоби не включали в коментарях до вихідного тексту інформацію, що виходить за межі семантики мови реалізації.

Зворотне проектування діаграми класів здійснюється наступним чином:

  1. Ідентифікуються правила для перетворення з обраної мови реалізації. Це можна зробити на рівні проекту або організації в цілому.

  2. За допомогою інструментального засобу вказується код, який буде підданий зворотного проектування.

  3. Використовуючи інструментальні засоби, створюється діаграма класів шляхом опитування отриманої моделі. Слід почати, наприклад, з одного або декількох класів, а потім розширити діаграму, слідуючи вздовж деяких відносин або додавши сусідні класи. При цьому можна розкрити або заховати деталі змісту діаграми в залежності від ваших намірів. У статті ми підібрали список чудових ресурсів реверсування, які можуть знадобитися на практиці.

Зміст

Книги та курси

Практика

Практикуйте зворотне проектування. Будьте обережні зі шкідливим програмним забезпеченням.

Шістнадцяткові редактори

Інструменти двійкового формату

Розбирачі

Ресурси бінарного аналізу

Інструменти аналізу байт-коду

Імпорт інструментів реконструкції

Інструменти динамічного аналізу

Інструменти налагодження

Інструменти дешифрування Mac

  • Cerbero Profiler – Select all -> Copy to new file

  • AppEncryptor – Інструмент для дешифрування

  • Class-Dump – Використання опції зняття захисту

  • readmem – Інструмент скидання процесів OS X Reverser

Інструменти аналізу документів

Сценарії

Інструменти Android

Інші статті по темі
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.