→ james732:1.user mode是0至2G或者0至3G的空間 04/14 11:34
→ james732:2,3 皆為"是" 04/14 11:35
http://ppt.cc/PxYd --> user mode: 0x0001 0000~0x7fff ffff,
不知是否我有所誤會. 若 3 為是的話
uint i, *pval = (uint*)malloc(sizeof(uint));
byte* ptr = NULL;
*pval = 0x12345678;
// ptr = pval; // 故意不這麼寫
ptr = 0x395ec8; // 指向特定位置 (此位置即為 pval 指向位置)
printf("%0x\n", *pval);
// 以 ptr 去改 0x395ec8 之值
for(i=0; i!=sizeof(uint)/sizeof(byte); ++i, ++ptr)
*ptr = ~ (*ptr);
// 顯示更改後之值
printf("%0x", *pval);
程式碼中之 ptr 是否會出包?
※ 編輯: tropical72 來自: 180.177.73.222 (04/14 11:45)
推 loveme00835:!! 04/14 11:41
→ loveme00835:malloc 轉型是不是有問題? 04/14 12:09
謝謝指正!
※ 編輯: tropical72 來自: 180.177.73.222 (04/14 12:10)
推 purpose:找Windows Internals 5th來看,說不定公開的還比微軟多 04/14 12:14
→ tropical72:謝謝 purpose 大神再次降臨!! 04/14 12:17
→ tropical72:XD stdint,integer_is_to_large unknown,謝謝loveme. 04/14 12:34
→ loveme00835:囧> 我字打錯 04/14 14:17
→ tropical72:想問是哪個字打錯,我還真查不出來 XD 04/14 14:20
→ loveme00835:to → too 04/14 14:22
謝謝 loveme00835, stdint.h 並不存在於 vc (手邊+爬文,6.0 2003 2008 均無)
http://ppt.cc/PC;_ 照著加也無法正常執行
最後換到 dev-c 便可正常使用 sample code
做壞事真的沒那麼容易 XD 歷經了一陣指標地獄,
最後放上醜醜的屍體 (卡住) ...
http://codepad.org/0QCc3Q4E
謝謝各位這次指教,有空會再翻翻書看相關說明的。
※ 編輯: tropical72 來自: 180.177.73.222 (04/14 14:46)
推 loveme00835:其實Boost就有類似的東西, 而且更強大, 不過因為此篇 04/14 14:37
→ loveme00835:好像是C @.@? 04/14 14:37
→ tropical72:這篇的確是用C寫的,我再去查查相關說明,感謝協助 :) 04/14 14:47
→ loveme00835:因為 stdint.h 到 C++0x 才有 XD 04/14 15:42
→ loveme00835:C99 是 ok 的 04/14 15:49
推 purpose:search_tatget 函數裡面,用到的識別字太多了 (對我來說) 04/14 16:13
→ loveme00835:樓上說的是 id 還是 keyword ? 04/14 16:36
推 purpose:指 id,自己取名的 04/14 16:46
→ tropical72:p 大意指, 是變數設太多?抑或是有些不必設那麼有義?? 04/15 13:06
推 purpose:first, ptr, addr, Up, cur_cnt, MAX 只是要看前兩行 04/15 14:45
→ purpose:就要先查這些名稱的意義跟型態,覺得太多 04/15 14:46
→ purpose:別在意,是我的問題 04/15 14:46