作者harebuta (晴天小豬)
看板Emulator
標題Re: [TAS]Super Mario World 2分36秒全破
時間Tue Nov 6 00:29:21 2012
記得影片剛出來沒多久有人在C洽po過
稍微找了一下...在C洽 z - 18 - 1 - 31 - 5847
就直接複製過來吧
●16953 1412/30 yshinri R: [閒聊] TAS馬力歐4更新,2分36秒40
文章代碼(AID):
#1E_BF4Ai
作者: yshinri (ISML實習分析師) 看板: C_Chat
標題: Re: [閒聊] TAS馬力歐4更新,2分36秒40
時間: Fri Dec 30 02:38:58 2011
※ 引述《Gwaewluin (神無月 孝臣)》之銘言:
: http://www.nicovideo.jp/watch/sm16555036
: 這好像是利用記憶體錯位來造成強制變成ED
: 讓整個遊戲變成像體驗版一樣
: 但似乎也被認為是模擬器模擬不完全所致
: 還沒被TASVideos承認的樣子
: 推 Xavy:一堆奇怪的儀式阿 12/29 21:17
: 推 iamsocool:這影片真的太詭異.沒有打庫霸.連過關動畫都沒就直接end 12/29 21:41
: → iamsocool:比GB版瑪莉6金貨TAS還超過...應該有很多人不能接受吧..? 12/29 21:44
: → Xavy:前一版就已經很扯了阿 XD 12/29 21:45
: 推 kinnsan:從噴老鼠那段開始真的是莫名其妙的儀式 XDDD 12/29 21:56
: 推 mstar:老鼠?樓上是指按鈕跳出來的魚嗎? 12/29 22:39
: 推 oeg:結局出來完全傻眼阿wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww 12/29 23:13
花了好一段時間把 TASVideos 網頁上引用的資料看完了
特別是在某個連結裡發現了找到這個 bug 的日本人 あんた 的文章
把它整個給看過了一次
首先 那堆魚其實是另一個和 P 按鈕有關的小 bug
在按下的瞬間讓耀西吃掉那個 P 按鈕再馬上吐出來時就會生出一隻魚
魚的用處在調整亂數
(這個詞相信一些對 TAS 比較熟的人應該知道是在說什麼
不過這裡調整亂數的用途非常不一樣...)
再來另一個要點是讓耀西嘴裡吃住一個"無"
方法在影片中 2:06 開始 那裡由於同時頂方塊和踩 P 的關係出生了兩隻耀西
(注意到耀西出生的音效有兩聲)
一隻吃了 P 之後被踢下去了
這時另一隻透明的耀西會冒出來而且嘴裡有東西
那個東西就是所謂的"無"
這個"無"很重要 因為在耀西吐東西出來時會根據東西的編號把資料寫入記憶體
但這個"無"的編號卻是不該有的 255 所以會去覆蓋到其他的地方
影片中這個"無"在 2:15 時在黃色平台上吐了出來
這裡同時也是另一個 bug 技叫 PI 的啟動
注意到這時突然冒出了披風就是這個原因
第三個要點則是在那之後的一些"儀式"
例如拿著龜殼亂晃、在耀西身上用披風飛個兩三下、扔了幾個火球、把畫面左右移等等
這些"儀式"是在調整幾個記憶體位置讓它存有希望的值
最終啟動則是在最後踩上黃色平台
由於黃色平台所需要的的動作和普通的地方不一樣
因此它會去呼叫一個副程式來做處理
前面大約在 2:27 左右耀西又吃了一個東西
雖然資料裡沒有明說 我認為那其實是另一個"無"
所以最後踩上黃色平台時把它吐出來又會去覆寫到那個地方
這會使得這個副程式結束之後程式跳到某個奇怪的地方去
跳到什麼地方是由耀西當時的位置決定
PI 的情形也是一樣 當時它在畫面中間附近
跳到的地方就會使得瑪利歐多一個披風
這裡則是在畫面偏右
這會使得程式跳到亂數產生器的資料所在處
把那些資料當成機械碼來執行
調整亂數的用途就在這裡 把亂數產生器的資料改變成相當於"跳往記憶體某處"的值
而那個某處正是之前的"儀式"所改變過的資料區
因此這些精心設計過的值一樣被當成機械碼執行
其效果就是讓遊戲開始播放 THE END 的畫面了
--
ナギ:「毎日毎日同じ事のくり返し。
退屈でしかたがない。」
マリア:「そういうのは
毎日学校に行ってから言ってください。」
ハヤテ:「そんなに退屈だったら、
いっそSO○団でも作ってみては…」
ナギ:「ハヤテ。そんな風に
アニメと現実をごっちゃにするのはよくないぞ。」
ハヤテ:「う゛っ!
(お嬢さまに言われるなんて…)」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.28.91
推 qwaszxc:你說得很清楚,我看的很模糊Orz 12/30 02:49
推 allfate:謎之儀式解說,看完之後覺得更像某種宗教推廣了www12/30 02:50
推 lex65536:好像有懂一點點 推XD 沒想到TAS玩到這種境界= =;12/30 02:54
推 ellisnieh:解說乙 <(_ _)>12/30 02:58
推 lin790505:所以那些儀式就像是指令一樣 用途不是破關而是播放END!?12/30 03:42
推 blackone979:簡單說就是耀西連接了根源對吧 我懂了(逃12/30 04:58
→ windycat:這真的逼近了TAS意義的極限 或是說創造了新的速攻方向12/30 06:11
推 Gwaewluin:現在的TAS已經連機械碼都可以製作了......12/30 07:08
推 fullcomma:純推 blackone979:簡單說就是耀西連接了「根源」對吧12/30 07:08
推 NicoNeco:我很努力的理解了 這某方面來說也是一種天才駭客手法?12/30 07:31
→ Gwaewluin:簡單的說他靠自力製作出要執行的ED程序並讓程式去執行12/30 08:16
推 kamisun:簡單的說他在寫2進位的機械碼,然後讓程式去執行12/30 13:13
推 mikeneko:阿鬼,你還是說中文吧。什麼,你已經在說中文了!? 12/30 13:20
推 georgemouse:直接用遊戲動作刻出執行用的程式碼 這也太wwww12/30 14:21
推 jack0204:看完解說,感覺跟溢位攻擊很像12/30 15:10
推 tsunamimk2:因為這種系統通常又沒記憶體保護又沒mmu啊...12/30 16:15
→ tsunamimk2:透過某些操作 生出固定pattern的op code,最後再用12/30 16:16
→ tsunamimk2:overflow把sp跳到某個長的和ed程式一樣的機械馬所在12/30 16:16
推 lk2333:なるほど、わからん12/30 18:27
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.22.9
推 CP64:直接用程式漏洞溢出去就是了... 不過他怎知道那舞蹈要怎跳啊 11/06 00:35
→ scott1man:忽然相信現實生活中也可以做某些奇怪的行為 改變世界後 11/06 01:23
→ scott1man:面的"機械碼"了 突然有種很相信玄學的感覺 11/06 01:24
推 MaiLu:推神人解說....雖然不試玩全懂... 11/06 01:44
推 kigiron:在現實有種蝴蝶效應的感覺 XD 11/06 02:15
推 oginome:原來如此!解說得很詳細,整體感覺有SMB的9-1+PSP溢位破解 11/06 08:48
→ oginome:的感覺,但是另一個問題是他怎麼知道這個溢位值是哪個 11/06 08:50
→ oginome:副函式在處理,又值要到多少呢?而且看完那些儀式的說明.. 11/06 08:50
→ oginome:媽的,我開始相信古文明獻祭還有拜拜的過程是必要的了, 11/06 08:51
→ oginome:我們一直看不到神,搞不好是因為儀式不夠正確而已(溢位的 11/06 08:53
→ oginome:機械碼值不夠正確),現實中如果找到這些參數,就能控制很 11/06 08:55
→ oginome:多東西,這不就變得和拉普拉斯的信是一樣的了嗎,咦? 11/06 08:56
推 Pojin:yoshi選擇了紅藥丸(龜)XD 11/06 12:59
推 chuck9:"無" 就是 null, 看到要擋, 否則會發生不可遇期的行為 11/06 18:31
推 ukyo323:太強大了.....!! 11/06 21:02
推 qazxswptt:媽呀 這傢伙是把超級瑪琍當三隻眼在玩嗎? 11/06 21:54
推 Lavu:太瞎了...= =" 11/09 00:23