Реверс-інжиніринг (reverse engineering) це процес розбору готового продукту, щоб зрозуміти його внутрішню будову й логіку, коли вихідного коду немає. У безпеці це аналіз скомпільованих застосунків, мобільних APK, шкідливого ПЗ або мережевих протоколів.

Де застосовується в безпеці

  • Тестування мобільних застосунків: декомпіляція APK, аналіз smali та Java, відновлення недокументованого API
  • Аналіз шкідливого ПЗ: що воно робить і як його виявити
  • Пошук секретів і логіки, захованих у клієнті, які помилково вважали недосяжними

Приклад

Мобільний застосунок спілкується з сервером по закритому API. Реверсом APK можна відновити, які саме запити він шле, і далі тестувати ці ендпоінти напряму, минаючи сам застосунок. Часто саме там знаходяться авторизаційні діри.

Інструменти

Для Android це jadx і apktool для розбору, Frida й Objection для роботи в рантаймі, наприклад для обходу SSL pinning. Для мережі перехоплюючий проксі на кшталт Burp Suite.