PTT評價

[討論] 綠寶石版任意代碼執行(ACE)

看板PokeMon標題[討論] 綠寶石版任意代碼執行(ACE)作者
tn950811
(再摸我要叫了喔)
時間推噓13 推:13 噓:0 →:9

=================警告的分隔線================

本文章內含大量使用遊戲漏洞之行為,請小心操作並自行承擔相關風險,使用後若遊戲發生無法復原的錯誤或記錄毀損,本人一概不負任何責任。
若您閱讀時產生頭暈、噁心、嘴破舌頭痛等不適症狀,請左轉後直走電梯就在門口旁邊謝謝。
然後不要問我原理是什麼
https://i.imgur.com/MaP59Jq.jpg

=================警告的分隔線===============
一、前言
相信有玩過前兩代ACE的玩家應該都對其操作不陌生,本世代同樣可進行ACE,功能一樣很強大,幾乎所有PM的內部資料都能更改,若操作得當可說是無所不能。
本方法來自以下影片:https://youtu.be/TQN7mWXrOPs
是使用榴石果漏洞製造出錯誤PM 0x085F,再藉其讀取電腦箱子的名字以執行代碼。
======================================
二、事前準備
(1) 日版綠寶石遊戲卡匣
紅/藍寶石、火紅葉綠不可,其他語言未知
綠寶石需尚未與卡那茲市的NPC交換橡實果,遊戲進度達對戰開拓區佳。

(2) 任意拉魯拉絲
交換橡實果用。

(3) 榴石果及HP增強劑
執行漏洞的重要道具。

(4) 任意學會「詛咒」且HP為奇數的幽靈系PM
用以將HP扣至1執行榴石果漏洞,推薦送神山的怨影娃娃,HP請以HP增強劑提升至奇數,就算本來就是奇數也請餵藥到下個奇數,否則無法使用榴石果。

(5) 性格值、表/裏ID、二/十/十六進制轉換及xor運算等觀念
======================================
三、操作流程

※[へ]、[べ]、[ぺ]:平假名
※[リ]:片假名
※[l]:小寫L


(1) 取得錯誤PM 0x085F及設置操作環境
1. 以拉魯拉絲與NPC交換橡實果並取下其道具,建議以開拓區的複製BUG多複製幾隻橡實果備用:
a. 將橡實果存入電腦並存檔
b. 取出橡實果放入隊伍中
c. 至開拓區的對戰塔與最右邊櫃檯的NPC對話,選擇任意組別及PM並點選第一次「是」進入確認存檔的這個畫面後暖開機
https://i.imgur.com/MePmm9G.jpg

隊伍及電腦中即各有一隻橡實果
*此方法亦可反向操作將漏洞產生的壞蛋覆蓋掉刪除

2. 將橡實果的努力值提升至HP 95攻擊8
*推薦至101號道路打刺尾蟲(HP+1)與土狼犬(攻擊+1)

3. 將橡實果放至電腦箱子2的第24個位置
*建議清空此箱子將重要PM移至其他箱子

4. 將隊伍調整成第一、二隻為任意瀕死的PM,第三隻為會詛咒的幽靈系PM(以下以怨影娃娃代稱)

5. 用怨影娃娃與野生PM對戰並使用詛咒,重複兩次將HP降至1後存檔
*推薦至101號道路操作,野生PM都打不到你

6. 將第一隻瀕死的PM存入電腦,並對怨影娃娃使用榴石果,此時隊伍所有的PM都陷入瀕死

7. 進入草叢與野生PM對戰,此時將派出圖像為?的PM,進入隊伍頁面查看第二個位置瀕死PM的狀態(即影片中拉帝歐斯的位置,非怨影娃娃),接著返回隊伍頁面,按住十字鍵↑響約5聲音效的時間後返回戰鬥,原先?PM的圖像及血條會消失,然後選擇逃跑,此時
逃跑會失敗且顯示無PM可戰鬥並返回PM中心

8. 到電腦箱子2查看橡實果的狀態,確認橡實果是否變成球種為巢穴球、帶有寶可病毒的,若非上述變化(沒有變化或變成壞蛋ダメタマコ)則暖開機,以怨影娃娃與野生PM對戰後逃跑並存檔,重複步驟6.與7.

9. 更改以下箱子名字
箱子1:[いぶたぃ び]
箱子2:[アアアyコくく]
並將箱子12的第12個位置、箱子14的第30個位置清空並存檔
※建議清空此箱子將重要PM移至其他箱子

10. 將步驟8.的蛋放至隊伍並孵化,會孵化出Lv.46、帶有病毒的?????(0x085F),查看其狀態後存檔並暖開機
※孵化時黑屏較久、孵化後BGM沒恢復是正常現象

11. 將隊伍調整成第一隻為任意PM,第二隻為0x085F,其餘位置空下來

12. 將箱子12的第12個位置、箱子14的第30個位置清空,並更改以下箱子名字
箱子1:[かッンNリGゲタ]
箱子2:[みくィぃBFC]
箱子4:[アタぢいいあ ]
箱子5:[ォッいべぞね び]
箱子6:[アあいうに  ]

13. 查看0x085F的狀態,其圖像會消失一下後顯現,待顯現後退出,隊伍的第三位置會出現一隻暱稱為「ォッいべぞ」的色違妙蛙種子(下稱種子1),將種子1先移至他處空出隊伍

14. 將箱子5名字改為:[ャl],重複步驟13.,得到另一隻暱稱為「ャl」的色違妙蛙種子(下稱種子2)

15. 將種子1移至箱子12的第15個位置種子2移至箱子14的第28個位置,並且種子1的前3個位置種子2的前後2個位置都不要放任何PM

16. 更改以下箱子名字
箱子11:[うッゃNさRまK]
箱子12:[アぃBFCあい]
箱子13:[pぬういぎせ う]

更改後存檔即設置完成
---------------------------------------

(2) 執行任意代碼
將特定的箱子名字改成要執行的代碼後,查看0x085F的狀態,待其圖像消失再顯現後切換畫面(退出電腦、退出隊伍頁面或查看圖鑑等)即可執行,可執行的項目可參考此處:
http://detelony.blog.fc2.com/blog-entry-20.html

各文字對應的值可參考此處:
https://reurl.cc/yElRlq

另外需注意若要更改的變數要輸入兩個文字,其輸入順序需顛倒,例如要更改的變數為0x0802,需輸入[いく]而不是[くい]。這邊貼幾個比較常用的代碼。

1. 入手任意道具:
箱子1:[べ①①②②]

①①為道具種類,②②為道具數量,執行後會出現在電腦。

例:
箱子1:[べで sう]
①① = [で ] = 0x0044:神奇糖果
②② = [sう] = 0x03E7:999個

道具編號可參考此處:
https://reurl.cc/6aeKYy

2. 任意技能教學
箱子1:[ロ①②③③]

箱子1:[に ィ ロ  ビ]
箱子2:[にあィ①②  ビ]
箱子3:[にいィ③③  ビ]
箱子4:[ぬいィ❸❸にうィ]
箱子5:[アおリメうい]

將隊伍中第①位PM的第②個技能更改為③③,若③③為沒辦法直接輸入的文字的值(B7~
B9、EF~FF),則用第二種代碼,將③③及❸❸的值相加即可得無法輸入的值。
B7[円]、B8[.]、B9[╳] = B0[…] + 07[き]、08[く]、09[け]
EF[▼]~FF[終] = E0[l] + 0F[そ]~1F[ま]
要注意①和②要從0x00開始算,即0x00 = 第1位/第1招,0x01 = 第2位/第2招,以此類推


例:
箱子1:[ロいう5 ]
① = [い] = 0x02:隊伍第3位
② = [う] = 0x03:第4個技能
③③ = [5 ] = 0x00A6:寫生

箱子1:[に ィ ロ  ビ]
箱子2:[にあィお   ビ]
箱子3:[にいィl   ビ]
箱子4:[ぬいィふ にうィ]
箱子5:[アおリメうい]
① = [お] = 0x05:隊伍第6位
② = [ ] = 0x00:第1個技能
③③ = [l ] = 0x00E0
❸❸ = [ふ ] = 0x001C
③③ + ❸❸ = 0x00E0 + 0x001C = 0x00FC:擊掌奇襲

技能編號可參考此處:
https://reurl.cc/W3V0MO
此編號為十進制,請記得轉換成十六進制再輸入。

3. 查看PM的裏ID
箱子1:[ォいごオ   ビ]
箱子2:[ヌネふいい]

查看箱子1第1隻PM的裏ID

4. 變更PM的國籍
箱子1:[にだオ①①]

①①文字
[あい]:日本
[いい]:美國
[うい]:法國
[えい]:義大利
[おい]:德國
[かい]:韓國
[きい]:西班牙

變更箱子1的第一隻PM的國籍,若由日版變更成其他版本,暱稱及親名的數字及英文在上傳至G4以後會變成半形。

5. 變更主角的ID
箱子1:[もけぬうい]
箱子5:[かッンNテぞけノ]
箱子6:[アぱゥひし l]
箱子7:[ゴゥぃBFC]
箱子8:[アlコ う]
箱子9:[①②③④❶❷❸❹]

變更主角的ID,表ID為①② + ❶❷,裏ID為③④ + ❸❹
B7[円]、B8[.]、B9[╳] = B0[…] + 07[き]、08[く]、09[け]
EF[▼]~FF[終] = E0[l] + 0F[そ]~1F[ま]

例:
箱子9:[ぐぃ…ま  け ]
①② = [ぐぃ] = 0x3039
③④ = […ま] = 0x1FB0
❶❷ = [  ] = 0x0000
❸❹ = [け ] = 0x0009
①② + ❶❷ = 0x3039 + 0x0000 = 0x3039:表ID 12345
③④ + ❸❹ = 0x1FB0 + 0x0009 = 0x1FB9:裏ID 08121

6. 變更主角的名稱
箱子1:[もけぬうい]
箱子5:[かッンNけノねG]
箱子6:[アぃBFC]
箱子8:[アlコ う]
箱子9:[①②③④⑤⑥⑦]

變更主角名稱為①②③④⑤⑥⑦,需注意不可超過7個字。

7. 遭遇特定PM
7-1. 指定任意seed
箱子5:[かッンNテぞさタ]
箱子6:[アぃBFC]
箱子8:[アlコ う]
箱子9:[①②③④❶❷❸❹]

指定任意seed,搭配7-2或7-3代碼可遭遇指定PM,seed上位為③④ + ❸❹,下位為①②
+ ❶❷,計算seed可參考:
http://2style.jp/bowline/ds/tool/random/inverse.html
輸入想要的個體值與性格後按「個体値‧性格‧特性‧性別から計算」,複製Method 1 s
eed[n]算出的seed做為目標seed,並貼至下一欄的seed按「フィルタ付 seed逆算」,選擇-2那行計算出的seed做為指定seed執行代碼。

7-2 遭遇任意PM
箱子1:[あああああもけぬ]
箱子2:[い♀①①②③③ビ]
箱子3:[ゆぢあ]

遭遇種族①①、Lv.②、攜帶道具③③的PM,種族編號可參考此處:
https://reurl.cc/NrEYLe

例:
箱子1:[あああああもけぬ]
箱子2:[い♀ャ ト  ビ]
箱子3:[ゆぢあ]
①① = [ャ ] = 0x0084:百變怪
② = [ト] = 0x64:Lv.100
③③ = [  ] = 0x0000:無道具

箱子5:[かッンNテぞさタ]
箱子6:[アぃBFC]
箱子8:[アlコ う]
箱子9:[にlLz ぬ  ]
①② = [にl] = 0xE016
③④ = [Lz] = 0xEEC6
❶❷ = [ ぬ] = 0x1700
❸❹ = [  ] = 0x0000
①② + ❶❷ = 0xE016 + 0x1700 = 0xF716
③④ + ❸❹ = 0xEEC6 + 0x0000 = 0xEEC6
→指定seed:0xEEC6F716
→目標seed:0x91A90F70

可得Lv.100、性格為坦率的6V百變怪。

7-3 遭遇事件PM
箱子1:[にえィ①①  ビ]
箱子2:[におィ②②  ビ]
箱子3:[にかィ③③もけぬ]
箱子4:[いゆkあゆがあ]

箱子1:[にえィ①①  ビ]
箱子2:[ぬえィ❶❶  ビ]
箱子3:[におィ②②もけぬ]
箱子4:[いゆkあゆがあ]

遭遇種族①①、Lv.②、攜帶道具③③、具有命定的相遇的PM,若①①為沒辦法直接輸入
的文字的值,則用第二種代碼,將①①及❶❶的值相加即可得無法輸入的值,不過無法攜
帶道具。
B7[円]、B8[.]、B9[╳] = B0[…] + 07[き]、08[く]、09[け]
EF[▼]~FF[終] = E0[l] + 0F[そ]~1F[ま]
和7-2相比此代碼多了命定的相遇,若是夢幻、代歐奇希斯這類配布PM可使用此代碼生成,也可以靠8.的代碼直接修改命定的相遇。

例:
箱子1:[にえィビ   ビ]
箱子2:[におィほ   ビ]
箱子3:[にかィうあもけぬ]
箱子4:[いゆkあゆがあ]
①① = [ビ ] = 0x0097:夢幻
②② = [ほ ] = 0x001E:Lv.30
③③ = [うあ] = 0x0103:音速自行車

箱子5:[かッンNテぞさタ]
箱子6:[アぃBFC]
箱子8:[アlコ う]
箱子9:[ゲィr♀    ]
①② = [ゲィ] = 0x808A
③④ = [r♀] = 0xB6E6
❶❷ = [  ] = 0x0000
❸❹ = [  ] = 0x0000
①② + ❶❷ = 0x808A + 0x0000 = 0x808A
③④ + ❸❹ = 0xB6E6 + 0x0000 = 0xB6E6
→指定seed:0xB6E6808A
→目標seed:0x82B03804

可得Lv.30、性格為爽朗、攜帶音速自行車、具有命定的相遇的5V0C夢幻。

例:
箱子1:[にえィl   ビ]
箱子2:[ぬえィは   ビ]
箱子3:[におィば もけぬ]
箱子4:[いゆkあゆがあ]
①① = [l ] = 0x00E0
❶❶ = [は ] = 0x001A
①① + ❶❶ = 0x00E0 + 0x001A = 0x00FA:鳳王
②② = [ば ] = 0x0046:Lv.70

箱子5:[かッンNテぞさタ]
箱子6:[アぃBFC]
箱子8:[アlコ う]
箱子9:[っニば6    ]
①② = [っニ] = 0x6650
③④ = [ば6] = 0xA746
❶❷ = [  ] = 0x0000
❸❹ = [  ] = 0x0000
①② + ❶❷ = 0x6650 + 0x0000 = 0x6650
③④ + ❸❹ = 0xA746 + 0x0000 = 0xA746
→指定seed:0xA7466650
→目標seed:0x3D8A923A

可得Lv.70、性格為固執、具有命定的相遇的5V24C鳳王。

8. 變更PM的資料
箱子1:[Lいす    ビ]
箱子2:[もけぬうい]
箱子5:[く0COおぅズば] ※注意第2字為數字0第4字為英文O
箱子6:[ア@む6ば]
箱子9:[クぢいいネふいい]
箱子10:[アアアヤ6かく]
箱子14:[①②③④⑤⑥⑦⑧]

箱子1:[に ィ①①  ビ]
箱子2:[ぬ ィ❶❶  ビ]
箱子3:[もけぬうい]
箱子5:[く0COおぅズば]
箱子6:[ア@む6ば]
箱子9:[クぢいいリメうい]
箱子10:[アアアヤ6かく]

@文字(懶得翻譯了反正不難懂)
[ ]:性格値(4バイト)※変更不可(ダメタマゴ化する)
[あ]:ID値(4バイト)※変更不可(ダメタマゴ化する)
[い]:NN(10バイト)
[う]:国籍(1バイト)
[え]:ダメタマゴフラグ(1ビット)
[お]:正規ポケモン判定フラグ(1ビット)
[か]:正規タマゴ判定フラグ(1ビット)
[き]:TN(7バイト)
[く]:マーキング(1バイト)
[け]:チェックサム(2バイト)
[こ]:不明(2バイト)
[さ]:種族(2バイト)
[し]:持ち物(2バイト)
[す]:技1(2バイト)
[せ]:技2(2バイト)
[そ]:技3(2バイト)
[た]:技4(2バイト)
[ち]:技1PP(1バイト)
[つ]:技2PP(1バイト)
[て]:技3PP(1バイト)
[と]:技4PP(1バイト)
[な]:追加PP(1バイト)
[に]:格好良さ(1バイト)
[ぬ]:美しさ(1バイト)
[ね]:可愛さ(1バイト)
[の]:経験値(4バイト)
[は]:HP努力値(1バイト)
[ひ]:攻撃努力値(1バイト)
[ふ]:防御努力値(1バイト)
[へ]:素早さ努力値(1バイト)
[ほ]:特攻努力値(1バイト)
[ま]:特防努力値(1バイト)
[み]:懐き度(1バイト)
[む]:賢さ(1バイト)
[め]:ポケルス(1バイト)
[も]:出会った場所(1バイト)
[や]:入手レベル(7ビット)
[ゆ]:出身バージョン(4ビット) ※藍、紅、綠寶石、火紅、葉綠依序對應0x01~05
[よ]:ボール(4ビット)
[ら]:HP個体値(5ビット)
[り]:攻撃個体値(5ビット)
[る]:防御個体値(5ビット)
[れ]:素早さ個体値(5ビット)
[ろ]:特攻個体値(5ビット)
[わ]:特防個体値(5ビット)
[を]:タマゴフラグ(1ビット)
[ん]:特性(1ビット)
[ぁ]:逞しさ(1バイト)
[ぃ]:毛艶(1バイト)
[ぅ]:親性別(1ビット)
[ぇ]:クールリボン系統(3ビット)
[ぉ]:ビューティリボン系統(3ビット)
[ゃ]:キュートリボン系統(3ビット)
[ゅ]:ジーニアスリボン系統(3ビット)
[ょ]:パワフルリボン系統(3ビット)
[が]:状態異常(1バイト)
[ぎ]:レベル(1バイト)
[ぐ]:現在HP実数値(2バイト)
[げ]:最大HP実数値(2バイト)
[ご]:攻撃実数値(2バイト)
[ざ]:防御実数値(2バイト)
[じ]:素早さ実数値(2バイト)
[ず]:特攻実数値(2バイト)
[ぜ]:特防実数値(2バイト)
[ぞ]:所持メールID?
[だ]:種族グラフィックID?(2バイト)※変更不可
[ぢ]:総個体値(30ビット≒4バイト)
[づ]:チャンプリボン(1ビット)
[で]:ウイニングリボン(1ビット)
[ど]:ビクトリーリボン(1ビット)
[ば]:ブロマイドリボン(1ビット)
[び]:がんばリボン(1ビット)
[ぶ]:マリンリボン(1ビット)
[べ]:ランドリボン(1ビット)
[ぼ]:スカイリボン(1ビット)
[ぱ]:カントリーリボン(1ビット)
[ぴ]:ナショナルリボン(1ビット)
[ぷ]:アースリボン(1ビット)
[ぺ]:ワールドリボン(1ビット)
[ぽ]:不明
[っ]:イベントフラグ(1ビット) *即命定的相遇
[ア]~[ク]:不明

將隊伍第三隻PM的資料@修改為①②③④⑤⑥⑦⑧或①① + ❶❶,功能非常強大請小心服
用。
======================================
四、FAQ
Q1:使用這個BUG會對記錄或PM有什麼不良影響嗎?
A1:窩不知道.jpg
不過我用到現在還沒遇過什麼嚴重的問題就是。

Q2:我不小心輸入錯字並執行了,我該怎麼辦?
A2:不要存檔並且暖開機重來,避免改動到未知的數值。

Q3:為什麼我執行後都沒效果?
A3:請檢查箱子名字有沒有輸入錯,ア/ァ、シ/ツ、り/リ、ソ/ン、0/O、1/l等都是很常見的錯字。如果確定沒輸入錯,請檢查有沒有改到箱子11~13或動到兩隻妙蛙種子的位置。

Q4:為什麼我改完後數值都沒有變化?
A4:請切換畫面(關閉電腦、關閉隊伍、切換地圖等)即會變化,並且在每次執行後都要切換,執行很多次沒切畫面只會執行最後一次的值。若是有更改努力值、個體值等會影響能力值的值,請將PM存入電腦能力值即會變更。

Q5:該如何做出色違PM?
A5:(表ID xor 裏ID) xor (性格值上位 xor 性格值下位) < 8即為色違,= 0為方閃,請自行計算目標性格值對應色違的ID即可。

Q6:做出來的PM可以上傳到新世代嗎?
A6:可以,不過G5到G6的Poke Mover會檢查,我自己目前測試的結果有以下幾點。
1. 學習自身不能學習的技能
→無法上傳

2. 野生PM學習遺傳技能
→可以上傳

3. 努力值超過510
→無法上傳

4. 改出G3沒有的球種值(G4會變成外觀是藍色的大師球但特效與紅白球無異)
→無法上傳

5. 性格值與個體值不符(G3及G4的亂數規則性格值綁定個體值)
→可以上傳

6. 神獸PM出身版本有問題(如來自綠寶石的超夢)
→無法上傳

7. 持有有問題的獎章(天空/陸地/海洋獎章等)
→可以上傳

8. 非活動PM有命定的相遇
→可以上傳

9. 夢幻、代歐奇希斯、鳳王及洛奇亞無命定的相遇
→尚未測試不過應該是無法上傳

10. 改出官方不曾配布過的語言版本的幻獸(如日版綠寶石代歐奇希斯)
→可以上傳
=======================================

最後一樣再炫耀一下我的發霉蛋
https://i.imgur.com/wyuwafB.jpg

https://i.imgur.com/xXN0HWO.jpg
https://i.imgur.com/j7UB4XQ.jpg
https://i.imgur.com/L8pwnTy.jpg
=======================================

Reference:
http://detelony.blog.fc2.com/blog-entry-18.html
http://detelony.blog.fc2.com/blog-entry-19.html
http://detelony.blog.fc2.com/blog-entry-20.html
https://youtu.be/TQN7mWXrOPs

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.9.206.121 (臺灣)
PTT 網址

w2307749607/18 14:24看來該回來玩一下綠寶石了

joy325235507/18 16:29推 辛苦了 !! 這篇應該算中文圈第一篇比較完整的

joy325235507/18 16:30另外歐美版確定有 只是修改的代碼不一樣

joy325235507/18 16:30不如說當初就是歐美版先找到代碼注入方式 才回流到日

joy325235507/18 16:30版的 我手頭上的歐美版代碼注入資料是2015年左右

joy325235507/18 16:31至於日版我第一次看到最早在2017 不過一直持續改良XDD

joy325235507/18 16:33剛剛再看一下 甚至影片最後更新紀錄在上個月 wwww

joy325235507/18 16:34日版的深度玩家還再改良啊 (茶

美版卡帶台灣也不好入手就懶得找資料了

dull7032807/18 18:54中文教學給推 不懂日文 只看影片還是不懂

其實影片的日文都有漢字不難理解啦

weilsea07/18 20:26比黃版複雜好多…

畢竟數值生成方式和色違判別都是完全不同的系統,不過麻煩的也就算seed和色違而已

Mango345907/18 20:58想問一下 這樣是否也可以修改因為

Mango345907/18 20:58更換時間電池所導致的時間bug

你可以參考RTCリセットモード起動那項,雖然我沒試過就是

dull7032807/18 23:18橡實果那邊試了半小時 頂多變壞蛋 機率不知道多低....

我試十分鐘就成功了耶,如果一直失敗↑可以按久一點試試

dull7032807/19 03:57只試出白球沒病毒的蛋QQ

dull7032807/19 04:08紀念球

那篇文章有提到變紀念球的狀況不過我沒細看,可能得多試幾次吧

smallsalix07/19 15:14這是什麼神奇的bug XD 也太難研究

D12207/19 21:25推 感覺好厲害

michaelwu07/23 13:34太複雜XDD 純推

hjkkk12308/03 22:49讀程式碼找出來的吧,蠻強的

※ 編輯: tn950811 (101.10.0.121 臺灣), 09/20/2022 16:15:53

Kbart10/30 18:27遲來的推 XD

Kbart10/30 18:28還好交換來的橡實果還原封不動保存在電腦裡,想說慘了我都

Kbart10/30 18:28交換完了