第一百三十九章棧緩衝區溢位
第二天,學校食堂。
sam三人組又聚在了一起共同進餐。
亞瑟和馬修兩人臉上的傷痕如果不注意看的話已經看不出來,浮腫也完全消失,他們都稱讚林鴻的雲南白藥非常神奇。
在他們的桌子上,擺放著三個ti82型計算器,他們一邊吃飯,一邊不時地看看桌上的計算器,有時候還互相對視而笑,臉上雖然疲倦,但眉目之間卻露出非常興奮和自豪的神色。
這三個計算器,正是已經被成功破解了的計算器
迅速吃完之後,馬修馬上拿起了自己的那個計算器,在上面按了幾下,調出一個目錄,然後執行其中的程式,整個計算器液晶屏頓時一重新整理,只見一個右邊一個小小的黑色長條開始慢慢從右至左開始移動,馬修將計算器側了過來,開始津津有味地玩了起來。
昨天,竟然有直接在bbs上就將ti82計算器的電路圖紙直接釋出在上面,所以,德州儀器郵寄的資料,實際上已經意義不大了。那個人就是德州儀器公司的工程師,他在上面回答了許多使用者提出的問題,並且說歡迎大家提出改進建議,他會向公司提交反饋內容。
由於提前拿到了圖紙,破解的事情立刻提上了日常,興奮之下的三人根本沒有心思睡覺,他們做了一個重要決定,那就是一定要趕在返校舞會到來之前,將計算器破解出來。
他們分工合作,馬修和亞瑟負責設計出一個有意思的軟體或者遊戲,而林鴻則負責計算器的破解,等破解出來之後,就移植到計算器上面,給大家來一個巨大的驚喜。
由於有了bbs上那些帖子的基礎,林鴻已經對破解計算器有了非常大的把握,他最終讓亞瑟拿出工具箱,將計算器給拆了開來,對照電路圖仔細研究了計算器的硬體結構。
最終林鴻確定,並不需要對計算器進行硬體方面的修改,就完全可以突破德州儀器公司在韌體上設定的限制枷鎖。
這是因為在其中一個帖子中,有一個使用者描述了他發現的一個現象,按照他給出的幾個按鍵順序和方式,就可以讓計算器進入一個特殊的模式debugn。不過那個使用者的這個回覆貼很快就被緊接而來的其他回覆給淹沒了,只有很少人才注意到了他的這個回覆。
因為林鴻需要對計算器進行破解,所以他對立面的所有回覆都比較關注。這個使用者的回帖他非常重視,專門用自己的計算器按照對方描述的順序,完整地操作了一番,然後再將計算器連線到計算機上面進行了一系列測試,結果驚喜地發現,這個模式似乎是德州儀器公司的工程師在開發過程中用來除錯用的,在這個模式下,使用者對計算器的操作擁有很大的許可權。
這絕對是個好訊息,原本林鴻還以為需要對硬體進行改動,現在有了進入這個模式的方式,他完全可以直接不通過硬體,僅從軟體上的漏洞就可以直接對這個計算器進行破解。
經過一個晚上的奮戰,林鴻最終成功了。
他找到了一個計算器裡面的棧緩衝區溢位,從而成功地往裡面寫入了自己的程式碼,突破了韌體系統對使用者操作空間許可權的限制。
程式在執行過程中,為了臨時存取資料的需要,一般都要分配一些記憶體空間,通常稱這些空間為緩衝區。
這個區域一般是可以進行資料儲存和刪除操作的,保護級別並不嚴格。而在緩衝區之外,在存在著其他一些系統核心資料區域,存放的資料都是系統中非常重要的資料,一旦那些資料被修改,整個系統就可能發生崩潰,當然,也有可能出現其他意想不到的結果。
所以這些系統核心資料區域是被嚴格限制和保護的,使用者不能對其進行操作。
棧是一種特殊的資料結構,特點是先入後出。就像一條死衚衕,大家排隊進去,滿了之後停止進入,然後再一個一個排著隊出來,先進去的那個人,最後才出來。這種資料結構生活中也有不少例子,例如交試卷,先交的人一般要到最後才會被老師看到,還有就是以前ktv裡面點歌系統,先點歌的人,反而排在最後面唱。
按理說,德州儀器的工程師在編寫程式的時候,是需要對壓入棧裡面的資料長度進行檢查的,一旦這個棧已經滿了,就必須停止對其再進行壓入,否則就會產生溢位。
而林鴻找到的這個棧緩衝區,正是那些工程師編寫程式碼的時候不嚴謹,忘記對這個棧進行長度檢查,於是林鴻一直往其中壓入資料,等它滿了也不管,繼續壓入,於是便發生了棧記憶體溢位。
溢位便意味著棧緩衝區之外的單元會被改寫,而假如這些資料單元裡面儲存的資料是有用資料的話,就會產生意想不到的後果,最常見的後果就是程式崩潰,通常情況下,這隻能算是程式的一個bug,但是當向這些棧中壓入經過進行設計的資料,就不僅僅是bug了,而是成為了可供駭客利用的漏洞。
林鴻正是精心設計好了一個小程式,然後將其編譯成機器碼,先是向他找到的那個棧中壓入一些無效的資料,精確計算這些資料的長度,等達到一定長度之後,再將他設計好的資料給壓入進去,讓其發生溢位,覆蓋緩衝區之外的區域,這樣當韌體系統執行到這裡的時候,就會成功地呼叫執行他的這個程式
於是,這個嚴密的堡壘便被林鴻給成功攻克了。
這個過程,說起來看似簡單,實際上卻是經過林鴻無數次測試才找到的,為了精確計算棧的長度,他至少反反覆覆重複了五十遍以上的資料壓入過程,而為了能夠讓自己的這個程式能夠順利接管韌體的執行流程,其中所花費的時間和精力,也是無法三言兩語描述得清楚的。
作者「瘋狂小強」的其他小說
《修仙高手再戰都市》