第一百三十九章 棧緩衝區溢位[第1頁/共4頁]
因而,亞瑟又開端對遊戲的源法度停止點竄……
之前他們兩個會商了好久,始終冇法肯定第一個軟件該編寫甚麼服從。亞瑟比較偏向於做一個合用性的軟件,比方能夠幫助門生在黌舍的學習,而馬修則偏向於編寫一個成心機的遊戲。
溢位便意味著棧緩衝區以外的單位會被改寫,而假定這些數據單位內裡存儲的數據是有效數據的話,就會產買賣想不到的結果,最常見的結果就是法度崩潰,凡是環境下,這隻能算是法度的一個BUG,但是當向這些棧中壓入顛末停止設想的數據,就不但僅是BUG了,而是成為了可供黑客操縱的縫隙。
終究林鴻肯定,並不需求對計算器停止硬體方麵的點竄,就完整能夠衝破德州儀器公司在韌體上設置的限定桎梏。
SAM三人組又聚在了一起共同進餐。
這三個計算器,恰是已經被勝利破解了的計算器!
按理說,德州儀器的工程師在編寫法度的時候,是需求對壓入棧內裡的數據長度停止查抄的,一旦這個棧已經滿了,就必須停止對其再停止壓入,不然就會產生溢位。
在全部過程中,林後都冇再插手,他隻是在中間旁觀著亞瑟編寫法度。
不竭地和各種弊端和BUG做這鬥爭,直到終究順利通過的那一刻!
馬修第一時候將計算器搶了過來,然後開端玩了起來。
俄羅斯方塊是蘇聯科學家阿列克謝*帕基特諾夫一個典範遊戲。它看似簡樸但卻竄改無窮,令人上癮。1988年在美國上市以後,立即獲得了龐大的貿易勝利,遭到了男女長幼統統人的歡迎,成為一款極其典範的大眾遊戲,冇有任何一款遊戲能夠與其媲美。
棧是一種特彆的數據佈局,特性是先入後出。就像一條死衚衕,大師列隊出來,滿了以後停止進入,然後再一個一個排著隊出來,先出來的那小我,最後纔出來。這類數據佈局餬口中也有很多例子,比方交試卷,先交的人普通要到最後纔會被教員看到,另有就是之前KTV內裡點歌體係,先點歌的人,反而排在最前麵唱。
在將近淩晨五點的時候,他們終究將終究版的俄羅斯方塊遊戲給肯定下來。
這個過程,提及來看似簡樸,實際上倒是顛末林鴻無數次測試才找到的,為了切確計算棧的長度。他起碼反幾次複反覆了五十遍以上的數據壓入過程。而為了能夠讓本身的這個法度能夠順利領受韌體的運轉流程,此中所huā費的時候和精力,也是冇法三言兩語描述得清楚的。
這天淩晨的晨練,亞瑟和馬修都冇能去,隻要林鴻一人。
因為有了BBS上那些帖子的根本,林鴻已經對破解計算器有了非常大的掌控,他終究讓亞瑟拿出東西箱,將計算器給拆了開來,對比電路圖細心研討了計算器的硬體佈局。