Реверсинг

Реверсинг

Вступаем на канал Dark Help ,Очень много Годноты и Сливов!

Сегодня я введу вас в курс такого ремесла, как " Реверсинг. "


- Что же это такое?


Обратная разработка (обратное проектирование, обратный инжинирингреверс-инжиниринг; англ. reverse engineering) — исследование некоторого готового устройства или программы, а также документации на него с целью понять принцип его работы; например, чтобы обнаружить недокументированные возможности (в том числе программные закладки), сделать изменение или воспроизвести устройство, программу или иной объект с аналогичными функциями, но без прямого копирования.


Думаю, многие из вас умеют разбирать чистые .net файлы ( Если нет - извиняюсь, ниже всё обьясню ) , но подумайте, на дворе 2018 год, врятли здравомыслящий девелопер не соизволит накрыть свой файл протектором, коих много. Итак, представим следующую ситуацию : К вам на руки попал... скажем, приватный чит, вы горите желанием его исследовать, и уверены в своих силах. Для первичного анализа файла чита - нам понадобится PE Сканнер.


- Что такое PE сканнер?


> Это софт, который поможет тебе, мой юнный реверсер - определить на чём нарисована твоя " подопытная " программа ( в нашем случае - чит ), узнать, каким протектором она накрыта. Функций много, как и PE сканнеров, перечислять всё не буду. Лично я - использую : " ExeInfo PE " и " Detect it Easy" ( DIE ) . Выглядят они как-то так :

Перетащив софт на форму " ExeInfo PE " мы можем увидеть :

Итак, в сканнере оказался исполняемый файл Темиды, накрытый Темидой. ( да, блять, как-то так ) Кратко пройдёмся по главному :

Надпись : " Image is 32bit executable " - означает, что файл по дефолту скомпилирован под 32 битные системы.

Чуть ниже мы видим две строки, взглянем на первую : " Themida/Winlicense v.2.x.?.? ( NonSt. OEP code detector "dummy" ) -> Oreans Technologies - www.oreans.com " - сканнер показал, что файл накрыт Темидой версии 2+, и указал на сайт ее производителя. Ниже мы можем увидеть следующие слова : " No Unpacker, ля-ля-ля " . Сканнер говорит нам, что распаковать файл, накрытый темидой - невозможно. Он нас обманывает, но не об этом. Перенесём тот-же файл на форму " DIE " , и увидим :

Здесь - аналогичная картина, но указан компилятор программы. С PE Сканнерами мы разобрались, теперь давайте поговорим о декомпиляции чистых .net файлов ( Обьясняю для новичков, если тебе это не интересно - пролистай чуть ниже :3 ) Итак, давайте для наглядного примера сейчас... мы с вами декомпилируем один из файлов, входящих в состав майнера Dzotra21.

Берём зараннее подготовленный мною " IntelNetwork.exe ", перетаскиваем в сканнер, и видим :

Отлично. Сканнер заявляет, что это .net файл, не накрытый каким-либо протектором. Теперь нам нужно его декомпилировать. Софта для декомпиляции .net файлов - много. Лично я использую " dnSpy ", что советую делать и вам. Ниже я покажу, как с помощью него вытащить исходный код с данного файла. Открываем " dnSpy " , перетаскиваем туда наш файлик :

Вот и подьехали наши исходники. Вы спросите :


- А что, если файл нарисован на том-же " AutoIT " ?


> Гугл вам в помощь, не ленитесь гуглить, друзья мои. Гугл - ваш первый помощник в данном ремесле.


Теперь поговорим о файлах под протекторами. Протекторов наплодилось очень много, сейчас я расскажу о снятии некоторых. Если в сканнере мы видим, что файл накрыт одним из следующих протекторов :

  • Agile.NET (aka CliSecure)
  • Babel.NET
  • CodeFort
  • CodeVeil
  • CodeWall
  • CryptoObfuscator
  • DeepSea Obfuscator
  • Dotfuscator
  • .NET Reactor
  • Eazfuscator.NET
  • Goliath.NET
  • ILProtector
  • MaxtoCode
  • MPRESS
  • Rummage
  • Skater.NET
  • SmartAssembly
  • Spices.Net
  • Xenocode

Значит, нам поможет такая утилита, как " de4dot ", она проста, и очень эффективна. Мне лень искать файл под протектором/накрывать файл самому, так-что, я возьму пикчи с анализа " Cryptoshuffler'a ".

Собс-но после того, как мы поставили " de4dot " , перетаскиваем обфусцированный файл на его ехешник ( de4dot'a ) , и видим :

Рядом с обфусцированным файлом создаётся уже чистый файл с приставкой " cleaned " , круто, протектор снят ( если он был один, перестрахуйтесь ). Пихаем файл в декомпиллер, и получаем долгожданные исходы.

------------------------------------------------------------------------------------------------------------------------


На этом всё, я дал вам базовые знания в сфере реверсинга .net файлов, рассказал о софте для работы. Этих знаний критически мало для взлома серьёзных приложений, если отклик будет хорошим - я напишу статью, в которой мы подробнее углубимся в эту тему. Всем удачи!

------------------------------------------------------------------------------------------------------------------------



Ссылки на софт, показанный в статье :


dnSpy : https://github.com/0xd4d/dnSpy

de4dot : https://github.com/0xd4d/de4dot

exeinfope : http://exeinfo.atwebpages.com/

detect it easy : http://ntinfo.biz/index.html

Подписываемся на канал https://t.me/dark_help и начинаем зарабатывать!

Report Page