From c6faf2b13d1bee02da04f0dc5d5f1761e4482d45 Mon Sep 17 00:00:00 2001 From: b1tg Date: Sat, 6 Feb 2021 23:19:13 +0800 Subject: [PATCH] make stack alignment more compatible --- shellcode/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shellcode/src/main.rs b/shellcode/src/main.rs index e33b4ca..79d047b 100644 --- a/shellcode/src/main.rs +++ b/shellcode/src/main.rs @@ -41,7 +41,7 @@ pub extern "C" fn main() -> ! { let LoadLibraryA: LoadLibraryAFn = unsafe { core::mem::transmute(load_library_ptr) }; // make stack align - unsafe { asm!("push rax") }; + unsafe { asm!("and rsp, ~0xf") }; let u32_dll = LoadLibraryA(USER32_DLL.as_ptr() as *const i8); let GetProcAddress: GetProcAddressFn = unsafe { core::mem::transmute(get_proc) }; let message_box_ptr = GetProcAddress(u32_dll, MessageBoxA_.as_ptr() as *const i8);