亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 匯編是不是可以執(zhí)行所有的cpu指令 [打印本頁]

作者: tianlijian    時間: 2013-01-09 19:06
標題: 匯編是不是可以執(zhí)行所有的cpu指令

匯編寫一個程序,是普通用戶下運行,是不是可以執(zhí)行所有的cpu指令?
如果是,是不是就可以做一些root才能干事情?
作者: frogsu    時間: 2013-01-09 22:17
這個問題有些寬了,不同的體系架構(gòu)有所不同的,在用戶模式下并不是所有的cpu指令可執(zhí)行,有些架構(gòu)會有所保留的。
作者: daniel_11    時間: 2013-01-10 09:48
這個問題是在問匯編是不是無所不能嘛?
作者: evilhacker    時間: 2013-01-10 10:53
普通用戶下運行肯定不行啊, 普通用戶下就是一個進程,只能做普通進程能做的事
作者: daniel_11    時間: 2013-01-10 11:02
回復(fù) 4# evilhacker
哦,你確定嗎?那些hacker可能不同意你的看法。


   
作者: evilhacker    時間: 2013-01-10 11:04
回復(fù) 5# daniel_11 哦,hacker那就另當(dāng)別論了,別說匯編了,用C也能把系統(tǒng)搞掛吧


   
作者: daniel_11    時間: 2013-01-10 11:13
回復(fù) 6# evilhacker
我只是舉個例子,不要被操作系統(tǒng)限制了,理論上我認為作為匯編語言能作什么和用戶態(tài),核心態(tài)無關(guān)。


   
作者: hmsghnh    時間: 2013-01-10 12:40
回復(fù) 7# daniel_11


    怎么會沒有關(guān)系呢,有些特權(quán)指令,像頁表管理那些,只有在內(nèi)核態(tài)才允許執(zhí)行的。樓主不是就想問這個嗎。

   至于利用漏洞拿到root權(quán)限又是另外一回事,那跟是否用匯編沒什么關(guān)系。
作者: daniel_11    時間: 2013-01-10 12:48
回復(fù) 8# hmsghnh
“是不是可以執(zhí)行所有的cpu指令?”


   
作者: hmsghnh    時間: 2013-01-10 18:01
回復(fù) 9# daniel_11


    樓上都說是有cpu指令,你用戶態(tài)程序是沒法做的。
   比如 修改 SGDT 寄存器的匯編指令,用戶態(tài)程序肯定沒法執(zhí)行。很多中斷寄存器,虛擬機相關(guān)的指令用戶態(tài)程序肯定沒法執(zhí)行的。

你去查下intel手冊看一下 ring 0 和 ring 3的區(qū)別吧。
作者: daniel_11    時間: 2013-01-10 18:29
回復(fù) 10# hmsghnh
我就知道你會拿來intel來說事情~
能執(zhí)行什么cpu指令是受到處理器體系結(jié)構(gòu)約束,比如cpu運行級別劃分等,Linux利用這一點實現(xiàn)內(nèi)核態(tài)和用戶態(tài),不是這樣嗎?

本來開個玩笑而已,爭論這個就木有意思了。就此打住。


   
作者: yaojun224    時間: 2013-01-10 21:11
匯編不就是機器碼的一種表示么?如果不考慮操作系統(tǒng),應(yīng)該是大部分吧,少數(shù)指令cpu保留。出來乍到:wink:
作者: tianlijian    時間: 2013-01-11 00:01
從ring 3進入ring 0也是一個cpu指令吧。 普通用戶能執(zhí)行這個指令嗎?
作者: ibookvip    時間: 2013-01-16 09:27
高手們,學(xué)習(xí)了~~~~,這個貼子不錯,~~~~另:不要較真啦,都是交流學(xué)習(xí)~~~~嘿嘿
作者: leslielg    時間: 2013-01-18 09:43
樓主問的不是這個意思吧?我也想知道有沒有一種方法可以運行所有的cpu的指令,比如我知道該cpu指令的機器碼,就可以直接寫在代碼里面運行,而不需要匯編器認識這條指令。
作者: 帥絕人寰    時間: 2013-01-18 10:39
C難道不是弄成匯編再弄成opcode么? 怎么會這么理解?
作者: tianlijian    時間: 2013-09-22 21:59

從ring 3進入ring 0也是一個cpu指令吧。 普通用戶能執(zhí)行這個指令嗎?

作者: arm-linux-gcc    時間: 2013-09-22 22:55
回復(fù) 17# tianlijian
我只熟悉arm的,
svc指令用來實現(xiàn)系統(tǒng)調(diào)用,這個指令會引起軟中斷異常,同時從user mode切換到svc mode
不過軟中斷異常是內(nèi)核在處理,各種系統(tǒng)調(diào)用號的行為是內(nèi)核定義的,所以即使user mode能夠使用svc指令,也無法去破壞內(nèi)核
intel的ring 3到ring 0應(yīng)該和arm的svc類似吧


   




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2