| eXeL@B —› Вопросы новичков —› Поиск указателя в таблице виртуальных методов | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 02 декабря 2012 16:06 · Поправил: donkein  · Личное сообщение · #1 Приветствую, вопрос к знатокам Допустим есть программа на с++, в ней есть виртуальные методы. Нужно один из методов перехватить и подменить, для этого соотв. надо получить указатель на него в таблице виртуальных методов. Вот собственно как это сделать ? P.s. Понятно что нужно это все делать через отладчик и т.д., но как именно. ![]()  | 
| 
 | 
Создано: 02 декабря 2012 16:19  · Личное сообщение · #2  | 
| 
 | 
Создано: 02 декабря 2012 16:30  · Личное сообщение · #3  | 
| 
 | 
Создано: 02 декабря 2012 16:54  · Личное сообщение · #4  | 
| 
 | 
Создано: 02 декабря 2012 17:06  · Личное сообщение · #5  | 
| 
 | 
Создано: 02 декабря 2012 17:09  · Личное сообщение · #6 1) запустить IDA, разобрать код, найти таблицу - профит 2) запустить программу под отладчиком, стать на нужный косвенный вызов, и пройтись по его вызову, попадаете на виртфункцию - профит 3) позвонить гадалке, она вам покажет вирутальный вызов - профит 4) ничего не делать, сидеть ждать, через определенное время задача утратит свою актуальность - профит ![]()  | 
| 
 | 
Создано: 02 декабря 2012 17:21  · Личное сообщение · #7  | 
| 
 | 
Создано: 02 декабря 2012 17:29  · Личное сообщение · #8 что именно показывать? как работать в отладчике? - полно видео в интернете и всяких кних ксаперского а если вы изначально не знаете что искать, то слова "Поиск указателя в таблице виртуальных методов" выглядят странными. указатель на класс есть? ищете в нём указатель на vtbl, далее по vtbl смотрите список всех вирт функций, считаете смещение - профит ![]()  | 
| 
 | 
Создано: 02 декабря 2012 19:13  · Личное сообщение · #9  | 
| eXeL@B —› Вопросы новичков —› Поиск указателя в таблице виртуальных методов | 
| Эта тема закрыта. Ответы больше не принимаются. | 







 Для печати