ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Патчинг бинарика
  #1  
Старый 26.05.2009, 14:35
CyberSun
Новичок
Регистрация: 02.05.2009
Сообщений: 19
Провел на форуме:
20665

Репутация: 8
По умолчанию Патчинг бинарика

Всем привет, вопрос такой:
Как пропатчить бинарик с такого простенького исходника:
#include <stdio.h>

main()
{
printf("First message\n");
printf("Second message\n");
}

Собрали, отдизасмили

Получили адреса двух printf'ов 004012DC и 004012E9...Как пропатчить экзешник этот, чтобы прога доходила до 004012DC(первого printf) и не делала call _printf, а заменить на jmp 004012E9 тоесть сразу прыгала на выполнение второй функции. Открываю в WinHex'e экзешник, а что дальше искать???как патчить???Адреса что-то не те вообще???Помогите разобраться новичку.
 
Ответить с цитированием

  #2  
Старый 26.05.2009, 14:54
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме:
1654818

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

грузиш в olly, там патчиш как надо и сохраняеш изменения.
 
Ответить с цитированием

  #3  
Старый 26.05.2009, 15:00
0rs
Познающий
Регистрация: 30.12.2008
Сообщений: 64
Провел на форуме:
647156

Репутация: 76
Отправить сообщение для 0rs с помощью ICQ
По умолчанию

Надо из адресов, что в дизасме, вычесть image base.
004012DC-00400000=000012DC
И в интервале от 12DC до 12E8 забить байт 90

Последний раз редактировалось 0rs; 26.05.2009 в 15:04..
 
Ответить с цитированием

  #4  
Старый 26.05.2009, 15:07
ProTeuS
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме:
4226592

Репутация: 2175


Отправить сообщение для ProTeuS с помощью ICQ
По умолчанию

насколько я понял, то байты по смещениям 12DC-12E1 нужно заменить на 0x90, тогда проскипается первое сообщение, и сразу выведется второе, и стек не порушится
 
Ответить с цитированием

  #5  
Старый 26.05.2009, 16:18
CyberSun
Новичок
Регистрация: 02.05.2009
Сообщений: 19
Провел на форуме:
20665

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

Открыл в winhex'e бинарик(как на скрине выше привел), но не могу найти 000012DC(с вычетом imagebase'a)???Как найти этот адрес?
 
Ответить с цитированием

  #6  
Старый 26.05.2009, 16:26
0rs
Познающий
Регистрация: 30.12.2008
Сообщений: 64
Провел на форуме:
647156

Репутация: 76
Отправить сообщение для 0rs с помощью ICQ
По умолчанию

Меню Position/Go To Offset...
Чтобы увидеть шетнадцатиричное представление в меню View убрать галочку Text Display Only
 
Ответить с цитированием

  #7  
Старый 26.05.2009, 17:27
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

на мой взгляд winhex не самое удобное средство для редактирования exe и dll
лучше hiew
 
Ответить с цитированием

  #8  
Старый 26.05.2009, 17:46
CyberSun
Новичок
Регистрация: 02.05.2009
Сообщений: 19
Провел на форуме:
20665

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

так нашли 12DC

Переставил другой winhex, а в прежнем не было даже меню Position. Теперь такой вопрос:
Нопить мне не нужно (почему кстати по 12Е1) мне нужно заменить на "JMP 004012E9"(адрес второй ф-ции)..другими словами в hex редакторе открыв бинарик и найдя смещение 12DC заменить опкодами на команду "JMP любой адрес" сохранить изменения и запустив файл увидеть только один printf в выводе(так как первый мы заменим на безусловный переход).

Последний раз редактировалось CyberSun; 26.05.2009 в 17:49..
 
Ответить с цитированием

  #9  
Старый 26.05.2009, 19:18
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Дай экзешник свой
 
Ответить с цитированием

  #10  
Старый 26.05.2009, 19:31
CyberSun
Новичок
Регистрация: 02.05.2009
Сообщений: 19
Провел на форуме:
20665

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

Цитата:
Сообщение от Kaimi  
Дай экзешник свой
http://rapidshare.com/files/237460563/1.exe.html
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снятие ASProtect 1.22 - 1.23 Beta 21 и патчинг Lemonade Tycoon v1.1.6 ProTeuS Авторские статьи 2 14.08.2006 17:20



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


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




ANTICHAT.XYZ