Сейчас на форуме: asfa, _MBK_, Adler (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Поиск указателя в таблице виртуальных методов
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 декабря 2012 16:06 · Поправил: donkein
· Личное сообщение · #1

Приветствую, вопрос к знатокам

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

Вот собственно как это сделать ?

P.s. Понятно что нужно это все делать через отладчик и т.д., но как именно.



Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 02 декабря 2012 16:19
· Личное сообщение · #2

Экстрасенсорно




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 декабря 2012 16:30
· Личное сообщение · #3

найти статическую таблицу виртуальных методов и похучить



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 декабря 2012 16:54
· Личное сообщение · #4

reversecode пишет:
найти статическую таблицу виртуальных методов и похучить

А как найти ?



Ранг: 52.2 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 02 декабря 2012 17:06
· Личное сообщение · #5

--> Link <--




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 декабря 2012 17:09
· Личное сообщение · #6

1) запустить IDA, разобрать код, найти таблицу - профит
2) запустить программу под отладчиком, стать на нужный косвенный вызов, и пройтись по его вызову, попадаете на виртфункцию - профит
3) позвонить гадалке, она вам покажет вирутальный вызов - профит
4) ничего не делать, сидеть ждать, через определенное время задача утратит свою актуальность - профит



Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 декабря 2012 17:21
· Личное сообщение · #7

reversecode, а за вознаграждение покажите 2й пункт в действии, например через teamviewer ?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 декабря 2012 17:29
· Личное сообщение · #8

что именно показывать? как работать в отладчике? - полно видео в интернете и всяких кних ксаперского

а если вы изначально не знаете что искать, то слова "Поиск указателя в таблице виртуальных методов" выглядят странными.

указатель на класс есть? ищете в нём указатель на vtbl, далее по vtbl смотрите список всех вирт функций, считаете смещение - профит




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 02 декабря 2012 19:13
· Личное сообщение · #9

За вознаграждение-в поиск специалистов, сделают за тебя, раз сам всё равно разбираться не хочешь.


 eXeL@B —› Вопросы новичков —› Поиск указателя в таблице виртуальных методов
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати