June 7, 2021

Reverse engineering как часть OSINT

Специально для https://t.me/osint_rf_lib.

Реверсить будем .NET приложение.

О чём речь? Причём тут OSINT?

Допустим, вам присылали какой-то вирус, и вам нужно узнать его владельца.

Есть же обфускаторы и крипторы...

С помощью этого способа можно будет обойти 90% защит.

Итак, начнём.

Необходимый софт

  • dnSpy - бесплатный декомпилятор
  • JetBrains dotPeek - бесплатный декомпилятор

Как узнать, есть ли обфускация?

Для этого есть программа Detect It Easy, которая постоянно обновляется. Просто перетащите туда файл, и она покажет в поле protector, есть ли там защита

В данном случае библиотека защищена протектом EazFuscator

Если там ничего нет, значит либо прога без протекторов, либо она с неизвестным протектором (допустим DarksProtector (форк ConfuserEx с фичами)).

Вариант без обфускации

Если на программе нет обфускации, то тут всё просто. Открываете dnSpy или dotPeek, и, если это майнер, видим адрес владельца, а если это стиллер, видим токен бота или логин/пароль Меги или id в панели.

разбор чекера ВКонтакте vCheckase

Вариант с обфускацией/протектом/etc.

Берём название обфускатора из поля protect в DiE. Потом идём сюды, и в поиске по странице вбиваем название обфускатора.

Если есть:

Качаем de4dot, и просто перетаскиваем в него программу/dll. Рядом появится файл <имя проги>-cleaned.(exe/dll).

Если нет:

Смотрим ещё тут.

Если есть тут:

Ура! Качаем по ссылке из списка, если есть Release, качаем, юзаем, если нет, билдим и юзаем (для гиков)
Если нет тут:

Попробуйте найти в Google, или смотрите следующий пункт.

Как снять половину виртуальных протектов/крипторов/etc.

Качаем MegaDumper. Находим процесс нужного софта. Нажимаем .NET Dump

Теперь переходим в папку Dumps и смотрим пункт Как узнать, есть ли обфускация?

Ну вот и всё, я попытался наиболее полно изложить процесс реверсинга .NET приложения.

Если есть какие-то вопросы, добро пожаловать в наш чат!

by Temnij, 2021.