Задать вопрос
@kacejot

Как убрать вызов функции в exe, пропатчив его?

Моей целью является отключение TLSCallback-a для того, чтобы работал дебаггер.
Мне нужно именно пропатчить код, а не обойти колбэк.

Actual code:
.text:00401AA0 TlsCallback_0   proc near               ; DATA XREF: .rdata:TlsCallbacks↓o
.text:00401AA0                 jmp     TlsCallback_0_0
.text:00401AA0 TlsCallback_0   endp


Expected code:
.text:00401AA0 TlsCallback_0   proc near               ; DATA XREF: .rdata:TlsCallbacks↓o
.text:00401AA0 TlsCallback_0   endp
  • Вопрос задан
  • 230 просмотров
Подписаться 1 Сложный Комментировать
Решения вопроса 2
Rou1997
@Rou1997
Так нужно смотреть, что возвращается в TlsCallback_0_0.
Если ничего, то просто заменяем инструкцию с jmp на nop в количестве 1 шт. (судя по коду, и то и то другое весит 1 байт).
Вообще вопрос вырван из контекста.
Ответ написан
Забейте в exe файле место вызова функции nop`ами (0x90).
.text:00401AA0 TlsCallback_0   proc near               ; DATA XREF: .rdata:TlsCallbacks↓o
.text:00401AA0                 nop
.text:00401AA0 TlsCallback_0   endp
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы