Это сообщение о шелкографии Windows, с которым я столкнулся, показывает, как сделать простой шелл-код для функции сна, который находится в kernel32.dll. Я понимаю код, но кажется, что вы не можете вызвать функцию, не зная точного адреса функции в библиотеке, для которой вы должны использовать arwin32.exe
, предоставленную автором сообщения.Библиотеки NASM, связывающие библиотеки во время выполнения
;sleep.asm
[SECTION .text]
global _start
_start:
xor eax,eax
mov ebx, 0x77e61bea ;address of Sleep
mov ax, 5000 ;pause for 5000ms
push eax
call ebx ;Sleep(ms);
Shellcoding for Linux and Windows
В MASM32, один просто включает в себя библиотеки и библиотеки DLL, но я не знаю, если это тот же случай в NASM, я попытался включить kernel32.lib с помощью RadAasm, но получил сообщение об ошибке.
Неопределенная ссылка на сон.
Мой вопрос: как вызвать функцию сна в NASM, не зная точного адреса какой-либо из функций, ни GetProcAddress, ни тому подобное.
ПРИМЕЧАНИЕ. Даже в других примерах он предоставляет абсолютные адреса для функций.
Я не знаком с nasm на окнах, но вы попробовали 'nasm -f bin source.asm'? (или win32 для окон) –