From 309a6807cf304546d2ad8b9b6556f9ab34fb0a83 Mon Sep 17 00:00:00 2001 From: Byeongkeun Ahn <7p54ks3@naver.com> Date: Fri, 1 Dec 2023 00:29:51 +0900 Subject: [PATCH] short: fix rsp alignment issue --- scripts/static-pie-prestub-amd64-short.asm | 2 +- scripts/static-pie-prestub-amd64-short.bin | Bin 93 -> 93 bytes scripts/static-pie-template-amd64-short.rs | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/static-pie-prestub-amd64-short.asm b/scripts/static-pie-prestub-amd64-short.asm index f4982524..406e9b92 100644 --- a/scripts/static-pie-prestub-amd64-short.asm +++ b/scripts/static-pie-prestub-amd64-short.asm @@ -14,7 +14,7 @@ section .text ; Align stack to 16 byte boundary ; [rsp+ 32, rsp+120): PLATFORM_DATA ; [rsp+ 0, rsp+ 32): (shadow space for win64 calling convention) - enter 48, 0 + enter 56, 0 push 1 pop rcx ; Enable ENV_FLAGS_LINUX_STYLE_CHKSTK outside Windows call _t diff --git a/scripts/static-pie-prestub-amd64-short.bin b/scripts/static-pie-prestub-amd64-short.bin index 31b5787fd7a1f612e610b3e8e2abc95d4e0a8a14..0c17d9b89c68f15469b07aabe37e216355eb8b6f 100644 GIT binary patch delta 8 Pcma!zWjbLoktrGg3}FJR delta 8 Pcma!zWjbLnktrGg3_${; diff --git a/scripts/static-pie-template-amd64-short.rs b/scripts/static-pie-template-amd64-short.rs index e64a9046..44083009 100644 --- a/scripts/static-pie-template-amd64-short.rs +++ b/scripts/static-pie-template-amd64-short.rs @@ -5,4 +5,4 @@ $$$$solution_src$$$$ } // SOLUTION END -#[no_link]extern crate std;static mut P:[u8;$$$$binary_base91_len$$$$]=*br$$$$binary_base91$$$$;#[no_mangle]unsafe fn _start(){std::arch::asm!(".quad 0e859016a000030c8h,6758096a0000003ch,3156c931459917e3h,41226a07b2ce89ffh,5e050f5841ff6a5ah,2cac0de0c11fb0c3h,242cac9299f57224h,0e8c1aad0015bc06bh,0e3ebf77510c4f608h,51c1ff515052535bh,4850d3ff28ec8348h,0e3ffc93197h",in("r14")P.as_mut_ptr(),in("rsi")r$$$$stub_base91$$$$.as_ptr())} \ No newline at end of file +#[no_link]extern crate std;static mut P:[u8;$$$$binary_base91_len$$$$]=*br$$$$binary_base91$$$$;#[no_mangle]unsafe fn _start(){std::arch::asm!(".quad 0e859016a000038c8h,6758096a0000003ch,3156c931459917e3h,41226a07b2ce89ffh,5e050f5841ff6a5ah,2cac0de0c11fb0c3h,242cac9299f57224h,0e8c1aad0015bc06bh,0e3ebf77510c4f608h,51c1ff515052535bh,4850d3ff28ec8348h,0e3ffc93197h",in("r14")P.as_mut_ptr(),in("rsi")r$$$$stub_base91$$$$.as_ptr())} \ No newline at end of file