1
我在寫一些shellcode,我想知道如何正確調用駐留在libc中的程序集中的函數。注意下面的地址是系統函數的地址。我確定我有這個地址是正確的,因爲如果我用這個地址覆蓋返回地址,系統被調用成功,但它似乎在程序集中的segfault(它包含在緩衝區中)。如果有什麼不清楚的地方,讓我知道。我試圖在一個可執行堆棧上獲得一個libc函數調用,並且在這裏拉我的頭髮。請注意,代碼到達緩衝區沒有問題,並開始通過適當的nop底座,但在調用指令(代碼如下)上發生段錯誤。調用函數在內存地址x86_x64
mov 0xf7ff7fa5b640, %rax
mov (hex representation of /bin/sh), %rdi
call *%rax