[問題] 請問函數指標常被用來寫病毒嗎??
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux + GCC
問題(Question):
1.我在Wikipedia看到Pointer的條目時,介紹function pointer時
說這個功能常被用來寫惡意程式,google找了一下
說函數指標可以用來寫常駐程式的關係,所以常被拿來寫病毒??
2.參考以下程式碼,有關於函數的記憶體位置,我執行後的結果是
function Add address => 0x400581
function Minus address => 0x400593
function main func address => 0x4004a8
令我感到疑惑的是, main 這個function的 stack frame不是在比較高的位址上嗎?
但是這邊的位址卻是最低的.
還是說函數的位址是在編譯時期就決定好了呢??
為什麼位址上 Minus > Add > main function 呢?
Thanks!
程式碼(Code):(請善用置底文網頁, 記得排版)
int doAdd(int, int);
int doMinus(int, int);
int main(void) {
printf("function Add address => %p\n",doAdd);
printf("function Minus address => %p\n",doMinus);
printf("function main func address => %p\n",main);
return 0;
}
int doAdd(int a, int b) {
return a + b;
}
int doMinus(int a, int b) {
return a - b;
}
補充說明(Supplement):
--
你的行動或許沒有意義,但你還是非做不可。
這不是為了改變世界,而是為了讓你成為不會被世界改變的那個人.
– 甘地(Mahatma Gandhi)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.59.69
※ 編輯: HowLeeHi 來自: 118.167.59.69 (11/19 13:25)
推
11/19 13:54, , 1F
11/19 13:54, 1F
→
11/19 13:55, , 2F
11/19 13:55, 2F
→
11/19 13:55, , 3F
11/19 13:55, 3F
推
11/19 15:42, , 4F
11/19 15:42, 4F
→
11/19 15:43, , 5F
11/19 15:43, 5F
推
11/19 16:56, , 6F
11/19 16:56, 6F
→
11/19 16:57, , 7F
11/19 16:57, 7F
→
11/19 16:57, , 8F
11/19 16:57, 8F
→
11/19 18:00, , 9F
11/19 18:00, 9F
推
11/19 19:52, , 10F
11/19 19:52, 10F
→
11/19 20:39, , 11F
11/19 20:39, 11F
推
11/19 23:26, , 12F
11/19 23:26, 12F
→
11/19 23:28, , 13F
11/19 23:28, 13F
推
11/19 23:30, , 14F
11/19 23:30, 14F
→
11/19 23:30, , 15F
11/19 23:30, 15F
→
11/19 23:31, , 16F
11/19 23:31, 16F
→
11/19 23:32, , 17F
11/19 23:32, 17F
→
11/19 23:33, , 18F
11/19 23:33, 18F
→
11/19 23:33, , 19F
11/19 23:33, 19F
→
11/19 23:34, , 20F
11/19 23:34, 20F
推
11/19 23:46, , 21F
11/19 23:46, 21F
→
11/19 23:48, , 22F
11/19 23:48, 22F
→
11/19 23:49, , 23F
11/19 23:49, 23F
→
11/19 23:50, , 24F
11/19 23:50, 24F
→
11/20 05:16, , 25F
11/20 05:16, 25F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
11
17