![]() |
eXeL@B —› Программирование —› Вопрос по модификации секции экспорта в запущенном процессе |
Посл.ответ | Сообщение |
|
Создано: 04 февраля 2013 23:43 · Личное сообщение · #1 Столкнулся с проблемой (проконсультируйте): 1) Запущен процесс, в него я заинжектил свою dll; 2) в своей dll написал функцию; 3) хочу что бы процесс вызывал мою функцию, вместо некоторой экспортируемой (например из kernel32.dll); 4) делаю это по классике через секцию импорта и подмену функции GetProcAddress; 5) все работает. Теперь о проблеме: если процесс - это вирус, и адрес необходимой экспортируемой функции осуществляется через эмуляцию GetProcAddress, то ни чего не работает по понятной причине, а подменить функцию очень хочется все равно, что делать??? Попытка была следующей: после инжекта свой dll разобрал секцию экспорта kernel32.dll, и заменил RVA адрес необходимой функции на свой. Результат: обычный GetProcAddress перестал работать - выдает какую-то хрень (вопрос: почему?), мало того, я попытался тупо RVA адрес заменить на тот же самый (т.е. память в результате не изменилась), но посли попытки писать опять же GetProcAddress перестал работать. При необходимости записи в область памяти где расположена секция экспорта права доступа менял на запись, потом вернул в первоначальный вид. Кто сталкивался поясните плиз .... ![]() |
|
Создано: 04 февраля 2013 23:53 · Личное сообщение · #2 |
|
Создано: 05 февраля 2013 00:29 · Личное сообщение · #3 |
|
Создано: 05 февраля 2013 00:41 · Личное сообщение · #4 А подменять по логике вещей нужно RVA (т.е. адрес ячейки памяти для первой эксп. функции export_section->AddressOfFunctions + base)? Может я что-то не то подменяю? И мне остается не понятным момент: > мало того, я попытался тупо RVA адрес заменить на тот же самый (т.е. память в результате не изменилась), но посли попытки писать опять же GetProcAddress перестал работать. ![]() |
|
Создано: 05 февраля 2013 01:23 · Личное сообщение · #5 |
![]() |
eXeL@B —› Программирование —› Вопрос по модификации секции экспорта в запущенном процессе |
Эта тема закрыта. Ответы больше не принимаются. |