C 或者C如何讀取指定記憶體地址的值

2022-03-05 16:46:05 字數 1025 閱讀 8423

1樓:匿名使用者

marshal.readbyte(intptr address, int offset);

從指定的地址中讀取一個位元組的資料

address:記憶體地址

offset:地址偏移量

2樓:匿名使用者

每個程式都有自己的記憶體地址,不是你隨便指定一個就可以讀的,要在該程式合法的地址段內才可以讀。不能讀不屬於該程式的地址

3樓:匿名使用者

在windows下無法進行這個操作了.只能訪問自己的程式空間,這種操作只能dos下這種非保護模式下的作業系統

4樓:芮濟薩智宸

可以,,通過api函式就可以,,不過c#不能直接讀取記憶體值,,不過可以呼叫系統的api

5樓:劉順陰浩闊

若樓主能獲得連續記憶體的地址值,可以這樣讀取其內容:(假設有一個地址是12ff7c)

const

int*p;

p=0x12ff7c;

printf("%d",*p);

這三句可以讀取並列印12ff7c這個地址的內容。

但請注意,12ff7c必須是十六進位制地址值,p=0x12ff7c;前面的0x不能少,否則,編譯將不能識別12ff7c是地址。用vc

6.0編譯以上三行**,可能會出現警告,樓主不用理會,繼續編譯、連線、執行,最後,是可以讀出結果的。

6樓:蔚冷醜剛

c++我不清楚,c#裡面的話不能直接讀應該,反正我沒見過可以直接對記憶體操作的方法,因為理論上講,那樣做是不安全的,如果提供了這樣的方法,.net framework(託管**)就沒有存在的必要了,而且就算讀,也要經過作業系統的同意啊。所以你似乎只有一種方法,就是使用windows api

7樓:遇卉成秋寒

不論什麼程式都不能直接通過記憶體地址來讀寫其他程式的記憶體地址的,除非通過記憶體對映或者**注入,**比較多,也比較難懂,可以加qq

10009095詳細說

C語言中怎麼把數字存放在記憶體的指定地址上記憶體地址是用malloc分配的

1.定義int a 2。定義指標 p int p p a2.強制轉換 malloc 分配的地址型別 使它等於pp int malloc c語言 int ptr int malloc sizeof int 分配記憶體 ptr 100 對ptr指向的記憶體賦值100free ptr 用完之後釋放 c i...

c中如何將某個檔案用指定的程式開啟

如果執行shellexecute函式開啟檔案時,檔案沒有指定相應的開啟方式,則可以使用如下函式呼叫 開啟方式.對話方塊。其中strname是檔名,pszfolder是路徑。int nres int shellexecute null,open strname,pszfolder,sw showdef...

C 程式執行時的記憶體空間如何分割槽

c 程式的內純格局通常分為4個區 1.資料區 data area 2.區 code area 3.棧區 stack area 4.堆區 即自由儲存區 heap area 全域性變數 靜態變數 常量存放在資料區,所有類成員函式和非成員函式 存放在 區,為執行函式而分配的區域性變數 函式引數 返回資料 ...