1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
; Win64.asm
;--- Win64 console application
;--- assemble: jwasm -c -win64 -Zp8 -I<path_to_include> Win64_4.asm
;--- link: link /subsystem:console /section:.text,erw Win64_4.obj
option casemap:none
option frame:auto
.nolist
.nocref
WIN32_LEAN_AND_MEAN equ 1
include windows.inc
.list
.cref
includelib <kernel32.lib>
main proto
ExitProcess proto :UINT
.CODE
main proc FRAME uses rbx rsi rdi
local dwWritten:DWORD
;int 3
;lea rbx, [rip]
DB 48h, 8Dh, 1Dh, 00h, 00h, 00h, 00h
; 16 NOPs
db 10h dup(90h)
; réécrit les NOPs avec des int3
mov rdi, rbx
mov eax, 0cch
mov ecx, 10h
rep stosb
ret
main endp
mainCRTStartup proc FRAME
invoke main
invoke ExitProcess, eax
mainCRTStartup endp
END mainCRTStartup |
Partager