![]() |
eXeL@B —› Вопросы новичков —› API перехват и подмена GetVersionExA |
Посл.ответ | Сообщение |
|
Создано: 27 марта 2009 07:02 · Личное сообщение · #1 Добрый день. Я на самом деле новичёк в отладке приложений, но всё-таки, каждый когда то был новичком ![]() У меня возник вопрос: есть некое приложение, которое вызывает апи-функцию GetVersionExA для получения версии ОС. Насколько я понимаю, она возвращает указатель на Структуру содержащую сведения об ОС-и. Также, как я понимаю для перехвата GetVersionExA надо в Оле установик бряк bp GetVersionExA Но, вот не могу никак сообразить, как попасть на кусок кода с самой структурой, чтобы её изменить? Заранее спасибо ![]() |
|
Создано: 27 марта 2009 07:43 · Личное сообщение · #2 |
|
Создано: 27 марта 2009 10:52 · Поправил: Coderess · Личное сообщение · #3 Code:
ss:[ebp-94] = это заполненая структура типа OSVERSIONINFO ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 27 марта 2009 12:10 · Личное сообщение · #4 Code:
вот тут у меня вызов GetVersionEx перед case-ом. не могу понять как в памяти найти эту самую структуру ![]() |
|
Создано: 27 марта 2009 12:20 · Поправил: OzZz · Личное сообщение · #5 |
|
Создано: 27 марта 2009 12:38 · Личное сообщение · #6 |
|
Создано: 27 марта 2009 16:02 · Личное сообщение · #7 Вот-же, LEA EAX,DWORD PTR SS:[EBP-A4] ; В Eax - указатель на структуру PUSH EAX ; Кладем в стек указатель CALL GetVersionExA ; вызываем API и заодно, чтобы не плодить темы, как можно case с n-вариантами заменить на 1 безусловный переход? пример можно? ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 27 марта 2009 17:15 · Личное сообщение · #8 |
![]() |
eXeL@B —› Вопросы новичков —› API перехват и подмена GetVersionExA |