HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 21.02.2017, 13:43
kick
Флудер
Регистрация: 20.01.2015
Сообщений: 7,201
С нами: 5952720

Репутация: 6527


По умолчанию

Нам потребуется:
  • OllyDbg с установленным плагином Multiasm
  • Приложение, над которым мы будем проводить эксперименты. Для примера в статье в качестве подопытного возьмём блокнот (Notepad.exe)
Наша цель состоит в том, чтобы добавить некий код в notepad.exe. В данном примере мы покажем добавление простого MessageBox. В оригинале наш блокнот выглядит так:



1) Открываем ваш блокнот в OllyDbg



2) Ищем пустое место, для добавления нашего кода (CodeCave DB 00)



3) Добавляем ASCII строку:



4) Если вы нажали на Binary => Edit или (CTRL + E), вы увидите следующее окно. Которое можете заполнить так же или как хотите.



5) Нажмите кнопку ОК, и вы увидите ваш модифицированный код, который выделен красным цветом:



6) Нажмите на Ctrl+A для того, что бы повторно проанализировать ваш код:



В итоге вот так у нас и вышло всё красиво и удобно, но для того, что бы ещё это завести нам нужно добавить ASM код.

7) Добавляем ASM код:

Код:


Код:
PUSH 0                 ; BUTTONS = 
   PUSH 1008751      ; CAPTION  = Our adress of the "INJECTED NOTEPAD"
   PUSH 1008751      ; MESSAGE  = Same like above.
   PUSH 0                 ; ICON        = 
   CALL MessageBoxA; Run MessageBoxA with the Params above.
Данный код, реализуем посредством WinAPI Message Box:

Код:


Код:
int MessageBox(
            HWND hWnd,  // handle of owner window
            LPCTSTR lpText, // address of text in message box
            LPCTSTR lpCaption,  // address of title of message box 
            UINT uType  // style of message box
          );
Так как у нас "INJECTED NOTEPAD", находится на 1008751 поэтому мы и выполняем ASM команду PUSH 1008751.Для добавления ASM кода необходимо будет воспользоваться командой Ctrl + Shift + M.

8) Мы добавили данный код, но толку от него не будет т.к нужно сделать данный код выполняемым:

Правой кнопкой мыши нажимаем на CPU и выбираем Go To -> Origin. Это приведет вас к начальной точке исполняемого кода сборки. Для того, что бы у вас не возникло ошибок лучше это скопировать:



Двойным кликом добавляем JMP



9) Возращаемся обратно к вкладке Assemble и видим наш пропатченный код:



Обратите внимание на выделенное красным цветом. К данному адресу, нам нужно, перейти после нашего добавленного кода.

Если мы прыгнем здесь после инъекции программа будет выполняться так же как и раньше без нашей добавленного кода. Но нам не обходимо определить линии перезаписи, в данном случае это выглядит вот так:

Код:


Код:
PUSH 70
PUSH NOTEPAD.01001898
Нажмите на первой линии (наш JMP) и нажмите кнопку ENTER. И вы попадаете на наш MessageBox. После того, как мы вызываем MessageBoxA нам нужно вставить перезаписанные строки и вернуться назад.



10) Для сохранения всех наших модификаций нам необходимо выполнить следующее действие:



11) Закрываем сохраняем всё и получаем наш прокаченный блокнот:



12) Нажимаем ОК и наш блокнот запускается .
 
Ответить с цитированием

  #2  
Старый 21.02.2017, 13:56
Angelika
Новичок
Регистрация: 08.09.2018
Сообщений: 5
С нами: 4043126

Репутация: 0
По умолчанию

надо будет попробовать интересно написано кик )
 
Ответить с цитированием

  #3  
Старый 21.02.2017, 15:50
KateKate7912
Познавший АНТИЧАТ
Регистрация: 05.01.2016
Сообщений: 1,130
С нами: 5448754

Репутация: 945


По умолчанию

Цитата:
Сообщение от Angelika  

надо будет попробовать интересно написано кик )
Ты поняла, а я нет. Я дерево. :fffuuu:
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.