開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
linux+gcc
問題(Question):
突然想來寫程式印出function的return address
可是我發現程式印不出來
有找到gcc的calling convention如下
parameter...
parameter 3
parameter 2
parameter 1
return address
ebp
local var 1
local var 2
local var 3
local var ...
我試著在main function去呼叫的函數裡面宣告一個local var 1
利用這個local var 1的指標位置加上偏移值
可是都沒找到該回到的main address,但是有找到傳入的參數
我在想傳入的參數和local var 1之間應該會有一段記憶體的內容
和我
printf("%p\n",main);
印出來的值是一樣的?
還是說return addr沒有辦法這樣找到呢?
thanks!