x64 вызывает createthread из asm - PullRequest
       9

x64 вызывает createthread из asm

0 голосов
/ 04 декабря 2018
push 0 //tid
push 0 //flag
sub rsp, 20
mov r9,0 //parameter
mov rcx,0 //security attribute
mov rdx, 0 //stacksize
mov r8,threadmem //address
call kernel32.createthread

Я так называю createthread.

Но если я добавлю какой-либо адрес в параметр, мой код не будет работать.Просто заставляю компьютер зависать и ничего не происходит, кажется, что поток создан, но мой код не выполняется.Однако, если я не поставлю параметр и оставлю себя на 0, это сработаетКто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 04 декабря 2018

Вы не строго соблюдаете соглашение о вызовах x64.Push и sub rsp могут происходить только в прологе.

Windows разбирает ваш код, и недоступный код все еще может зависать из-за него.Я должен был полностью отказаться.

...