看板 Programming 關於我們 聯絡資訊
我表達的可能不好 不過我想問的大概是以下這件事 : 像這段C code int *a=0; a++; *a=5; 可以compiles但執行時會出錯 應該是被os給memory protection檔了下來 有什麼樣的程式 可以更改記憶體 0x00000004位置的值 而不被os欄住? ※ 引述《CharArray ( char[] )》之銘言: : 如題 除了 bios, 跟多重開機程式外 : driver似乎也要透過os才有辦法跟硬體溝通吧 (?) : 還有什麼樣的程式可以不用透過os就直接執行的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.240.89 ※ 編輯: CharArray 來自: 219.71.240.89 (09/21 21:09)
lauto:你應該要找個不做protection的os 220.137.96.134 09/21 21:21
※ 編輯: CharArray 來自: 219.71.240.89 (09/21 21:26)
Ross0916:OS itself 140.112.5.10 09/21 21:38
typeotoco:有真實模式和保護模式 220.139.0.66 09/21 21:45
ggg12345:能取得或依附特權的病毒程式就可以. 140.115.4.12 09/21 22:27
SILee:如果你對這個問題很有興趣的話 61.59.105.115 09/21 23:41
SILee:可以考慮買塊embedded system的開發板來玩 61.59.105.115 09/21 23:42
ggg12345:在dos prompt下的V86 mode 可以動 INT n 140.115.4.12 09/21 23:46
ggg12345:不過要照會compiler與linker是8086 mode 140.115.4.12 09/21 23:48
ggg12345:X86硬體跑DOS os 停留在 real mode 也行 140.115.4.12 09/21 23:51
ggg12345:用VT支援的CPU跑VMM(如XEN)其上跑DOS也可 140.115.4.12 09/22 00:05
ggg12345:不被OS攔住跟不透過OS(bypas)是有差別的. 140.115.4.12 09/22 00:10