7fed8272b58368f051ee8fe14e8377730f6c3c573f4cf4d6d04b16dd2d091c57

전에 소개했던 금은버전 바이너리에디터 생성법은 곤충채집대회 버그를 이용했었는데, 이 버그는 크리스탈에선 수정이 되어버림

그러다보니 크리스탈에서 임의코드버그를 실행하기 위해선 매우 복잡한 방법이나 금은에서 생성한 버그포켓몬을 통신교환으로 옮겨오는 방법을 사용했었는데, 비교적 최근에 발견된 방법으로 매우 간편하게 버그실행이 가능하게 되었다

물론 이런 버그를 잘 모르는 사람들 입장에선 여전히 매우 복잡해 보일수도 있으니, 버그에 관심이 많아 직접 해보고싶다고 생각하는 사람이 아니면 그냥 이런게 있구나 느낌으로 보는걸 추천한다



이 글의 전반적인 내용은 이 영상을 기반으로 작성하였으니, 일본어가 편한 사람들은 영상으로 직접 보는걸 추천함

일단 이 방법의 특징으로는, 금은버전의 곤충채집대회 버그보다 훨씬 이른 타이밍에 실행이 가능하고, 무엇보다 크리스탈 롬 하나만으로도 가능하다는 것이다


준비물: 스타팅, 깨비참

위 두가지만 있으면 된다
즉, 몬스터볼만 획득하면 46번도로에서 깨비참을 포획후, 무궁시티에서 바로 해당 버그 실행이 가능하다

그 직전까지의 조작은 일절 영향을 끼치지 않으므로, 라이벌에게 일부러 패배하는등 시간을 최대한 단축시키면 모험을 시작하고 10분 이내에도 준비를 완료할수있다

7fed8273b58a69f551ee8fe144827773bd143e9eb49cf103eda6edab14b0e597

깨비참을 포획하고 준비가 다 되었으면, 포켓몬센터 2층의 해당 위치에서 리포트를 작성한다

7fed8273b58a69f551ee8fe1458374739246f53b6d91fd905df8e33b63641f07

7fed8273b58a69f551ee8fe1458271736ebbfba7c27fa3fb85e3d0f827e9ef39

그 후, 스타팅 포켓몬을 박스에 맡기고, 박스 정리로 리포트 작성을 선택한다

****** 여기가 매우 중요한 부분으로, '네'에서 A를 누르고 인게임 브금 박자 기준 10박자 즈음에 본체 전원을 껐다킨다

약 2.55초 정도 되는데, 글만으론 실감이 잘 안될수 있으니 위 영상에서 나오는 리듬에 맞춰서 리셋을 하면 그리 어렵지 않게 성공할거다

리셋을 했다면, 다시 게임으로 돌아와 가방을 연다음 바로닫고, 박스 안의 포켓몬을 확인한다
(가방을 확인하지 않고 박스를 보면 불안정해질 우려가 있으므로 꼭 가방을 먼저 열었다가 닫자)

7fed8273b58a69f551ee8fe145847473d9e7ed19ea1d3113ec68faee032d3344

위처럼 박스안에 이름이 깨진 포켓몬이 생겼다면 성공이다
타이밍이 너무 일렀다면 박스 안엔 아무것도 없고, 너무 늦었다면 스타팅이 복제되어 있거나 평범하게 맡겨질것이다

본인은 위 사진처럼 극단적으로 깨지긴 했는데, 정도는 상관없이 깨지기만 했다면 성공이다
만일 실패해도, 그냥 똑같이 바로 재시도하면된다
(복제된 스타팅을 박스에 그대로 둔채 시도해도 무관)

예전 방법으론 이 버그를 통해 레벨0 포켓몬을 생성시켜야만해서 타이밍이 매우 빡셌으나, 깨비참 루트가 개발되고나선 난이도가 확 내려갔다

7fed8273b58a69f551ee8fe142817c7363c2e3558216ea68532f4ada71a63dc3

7fed8273b58a69f551ee8fe142837d73de91a5bf6361169ec00521b30ecc8e03

아무튼 버그포켓몬을 확인했다면, 아래와 같이 각 박스명을 변경한다

버그포켓몬을 둔 박스(보통은 박스1): ゅゅョにミてエろ
박스4: ヅキりデボデぼズ
박스5: ヅノるひジデの

7fed8273b58a69f551ee8fe142857373d079aa4ea8557dc032f0f9b69d487bed

7fed8273b58a69f551ee8fe1438176734d37d4c3979f488d5e0edf30c4d33847

박스명을 변경했다면 박스를 끄고, 깨비참을 선두에 둔 후 위 사진과 같은 위치(아래1보, 왼1보)에서 리포트를 작성 후 리셋한다
(위치는 좌표정보를 맞추기위함으로 매우 중요)

7fed8273b58a69f551ee8fe144827773bd143e9eb49cf103eda6edab14b0e597

리셋을 했다면, 오른쪽으로 1보, 위쪽으로 1보 이동 후 지닌포켓몬 창을 연다(반드시 위 절차대로 이동할 필요가 있음)

7fed8273b58a69f551ed86e046857273cd37979ba2c66ca36fc0e3a6b38adf91

깨비참을 선택하고, 선택창이 나오면 B버튼을 눌러 원래화면으로 돌아오면 된다(스탯을 보거나 할필요는 없음)

7fed8273b58a69f551ed86e047817573b5165e38e32972d7ebb9f867a4c87271

그 후 다시 박스를 열어 버그포켓몬이 있는걸 확인한다
이 시점에선 이름이 처음에 깨졌던것과 다르게 깨져있을텐데, 박스안에 있다는것만 중요하므로 신경안써도 된다

7fed8273b58a69f551ed86e047807773a69a7e391fda61367b543df1b8afee01

그 후 박스를 끄고 가방을 열었을때, 메일이 들어있으면 됨
깨비참을 이용하는것과 좌표를 맞추는걸 등등은 모두 이 메일을 생성하기위해 맞춰놓은거라고 알아두면 된다

가방에 메일이 있는것을 확인했다면, 각 박스명을 아래와 같이 변경한다

박스1: ぼへへマぞへブ
박스2: グだとどグだガム
박스3: てサろグだガムよ
박스4: だガグだギぼヂキ
박스5: づごぱヅまとへゴ
박스6: ぴへゴみボぷへゴ
박스7: タダだこごョダだ
박스8: ざダへャぞダり
박스9: だかがヲぜナだィ

작성을 다 했으면 뭔가 잘못되서 처음부터 다시 입력해야되는 상황을 방지하기 위해 리포트 작성을 해놓자(기본적으로 복구불가상황은 발생하지 않으니 리포트를 자주 작성하는걸 추천)

7fed8273b58a69f551ed87e642847473a09774074725937e271829a8d030cee5

위 박스명 변경이 완료되면, 다음은 깨비참과 스타팅에게 메일을 건네주어 내용을 아래와 같이 작성한다

메일1:
がろぜルョぶづぜ/ひすづぜモぶづ
ぜァひすぶづぜウぼダづの(공)(공)だっ

메일2:
がろぜミョよダづぼみづぜナづぜゃ
ひゼよろづよたづの(공)(공)(공)(공)(공)だっ

위 내용을 작성후,
메일1 읽기 → 도감 열었다가 닫기 → 메일2 읽기 → 도감 열었다가 닫기
를 실행하고 메일을 회수 후, 새로운 메일을 맡겨 내용을 아래와 같이 작성한다

메일3:
へなづ(공)ていろなひだヘヂみちぼダ
メに0だガにだにだ(공)ボデの(공)だっ

메일4:
ョぶぺぶぶヅあめがヲぜナヘマぞ(공)
ゾそへ/ぞへャぞてあめ(공)(공)(공)だっ

작성후 메일3을 읽고 도감을 연다

7fed8273b58a69f551ed87e64e827473a41e1dccb471c285d201ccd8abaa7882

참고로, 위 과정에서 도감을 보면 이런식으로 뭔가 이상해져있을텐데, 이건 메일 생성버그 실행 과정에서 불가피하게 발생하는 현상이고, 어차피 나중에 복구 가능하니 신경 안써도 된다

7fed8273b58a69f551ed87e047857d733ee772b5473e8ee311c3d1572e1f68

아무튼, 입력이 잘 되었다면 메일3을 읽고 도감을 연 시점에서 이런 간이버전 바이너리에디터가 표시될 것이다
조작법은 기본적으로 금은버전과 같으므로 여기선 설명을 생략하겠다

여기까지 왔다면 방대한 작업 직전에 리포트를 작성해놓도록 하자(위 화면에선 스타트버튼을 눌러 나오면 된다)

a67104aa252e69f639efe9e74683716d7e7084fa3bbcd9928507926f10edbecd4fb1e6c47a2490dc3c8b

다음은 간이 에디터로 위 표대로 각각의 주소에 값을 입력해야만 한다
상당히 양이 많은만큼 오타도 발생할수 있으니 중간중간에 스타트버튼을 눌러 나와서 리포트를 작성하면서 입력하는게 좋을수도 있다

7fed8273b58a69f551ed85e7418175738afcd0bc54bc34fad0a118e5915de5

AB43까지 입력을 완료했으면 스타트로 원래 화면으로 돌아오고 일단 리포트작성을 해놓자(오타가 있어 실행에 실패한 경우에도 바로 리셋후 복구가 가능해서 편함)

그후, 아까 작성한 메일4를 읽고 도감을 열면 된다

7fed8273b58a69f551ed85e644817173ccb3d409c83fe2d532e843c27fc2708b

값이 모두 제대로 입력되었다면 바이너리에디터 화면이 나올것이다

단, 이 상태로는 일일이 메일과 도감을 열어 실행을 시켜줘야하므로, 더 간편하게 실행할수있도록 해보자

7fed8273b58a69f551ed85e64383777374a8f1f7139c44dd039789f71e61c52a

우선 현재 상태로는 박스명이 이렇게 엉망진창이 되어있을것이다
이건 그냥 박스명 변경을 하면 깔끔하게 해놓을수 있지만, 박스6 이후로는 에디터 실행을 위해 아래와 같이 바꿔놓을 필요가 있다

박스6: ョぶぺぶぶへマぞ
박스7: がヲぜナゾたレレ
박스8: ヅあめへォぞレレ
박스9: へャぞてあめ

위 박스들은 에디터 실행에 있어서 중요한 존재이므로 사용자체를 안하는걸 추천한다

7fed8273b58a69f551ed85e1478371739c8c64b05121fc478ed4dd61dd59a5a1

박스명 변경이 완료되었으면, 메일4를 읽고 도감을 열어 에디터를 실행시키자

7fed8273b58a69f251ef86e544817573f8ffbcc9b82fc5ffeb8e03bfcf23d5f5

에디터를 열었으면, 아래 주소들의 값을 맞춰야만 한다

D886: D0
D887: 0A

DA47: C3
DA48: 95
DA49: DB

에디터 조작법에 대해선 금은버전과 동일하므로 설명은 생략하겠다

입력을 완료했다면 스타트를 눌러 종료시키고, 가방을 열어보자

7fed8273b58a69f251ef86e543817773265194f228995c238afc06c9be3a49eb

그러면 기술머신17이 도구가방에 들어가있을것이다
본래 기술머신칸에 들어있어야할 기술머신이 도구칸에 들어감으로써 버그실행의 트리거가 된다

7fed8273b58a69f251ef86e54181717340519b77218ce06528656588b5ef1610

이제 이 기술머신17을 사용하는것만으로 에디터를 실행할수 있게 되었다

7fed8273b58a69f251ef86e446837573b63d569c28445afb473a4cf3b64e37cc

7fed8273b58a69f251ef86e4478273731e1eb34187899296027b7a81205188e5

이 시점에서 버그걸린 도감을 열 필요가 없어졌으므로, D94C에 00값을 입력하여 도감을 정상으로 돌려놓자
또한 초반에 생성했던 버그포켓몬도 더이상 필요가 없으니 놓아줘서 깔끔하게 만들면 된다

이로써 뒷처리까지 완벽하게 됐다
또한 크리스탈버전 에디터는 금은버전 에디터와 다르게 지닌포켓몬의 제약이 없어, 박스명 이외로는 상당히 자유롭다


---------- 활용 ----------

여기에선 일부만 정리하도록 하겠다

기본적으로 금은과 크리스탈의 데이터 주소값은 다르기때문에, 크리스탈 전용으로 주소값을 찾아 값을 입력할 필요가 있다


--- 지닌포켓몬 선두의 데이터 ---

모습(스프라이트): DC9E
내용물(포켓몬 내부정보): DCA5
지닌물건: DCA6
기술: DCA7~DCAA
어버이ID: DCAB~DCAC
경험치: DCAD~DCAF
노력치: DCB0~DCB9
개체값: DCBA~DCBB
기술PP: DCBC~DCBF
친밀도: DCC0
포켓러스: DCC1
어버이 성별 및 포획장소: DCC2~DCC3
현재레벨: DCC4
상태이상: DCC5
현재HP: DCC7~DCC8
최대HP: DCC9~DCCA
공격: DCCB~DCCC
방어: DCCD~DCCE
스핏: DCCF~DCD0
특공: DCD1~DCD2
특방: DCD3~DCD4
어버이 이름: DCD5~DDCA
닉네임: DDE9~DDEE

노력치는 모든 값을 FF로 입력하면 최대치로 설정 가능하고, 설정 후에는 박스에 맡겼다가 뺄 필요가 있다

개체값 역시 둘다 FF로 값을 채우면 최대치로 설정 가능하며, 둘다 AA로 채우면 이로치로 만들수도 있다

7fed8273b58a69f251ef82e144837473d56c0a8f1f980707d3a7928012fb67d8

7fed8273b58a69f251ef82e741857773057822a67371326dc5225439b42ae057

참고로 스탯값에 전부 FF값을 입력하면 모든 스탯값을 8535로 설정할수 있다
(단, 박스에 맡길경우 스텟 재계산이 발생해 본래값으로 돌아온다)

7fed8273b58a69f251ef82e0448475730e2f944277b795e14c239994139121c5

다만 체력의 경우 저런식으로 설정하면 배틀에 내보냈을때 턴 종료시에 체력이 무한히 줄어드는 현상이 발생하므로 주의하자


--- 가방 도구칸 데이터 ---

도구칸의 도구종류의 총갯수: D885
첫번째 도구, 갯수: D886~D887
두번째 도구, 갯수: D888~D889
...
20번째 도구, 갯수: D8AC~D8AD

7fed8273b58a69f251ef82e74e837473a7cf3ab96be1529783d0eaea73342aa3

예시로 D885에 02, D888에 20, D889와 D890에 FF를 입력하면 두번째칸에 이상한사탕 255개가 생긴다
D885에 총 종류의 갯수를 제대로 입력하지않으면 아이템을 제대로 선택할수없는 현상이 발생하니 주의
또한 D890에 FF를 입력하는 것은 여기서 아이템 목록이 끝나는 것을 의미하기에 중요하다


--- 가방 몬스터볼칸 데이터 ---

볼 종류의 갯수: D8CA
첫번째 볼의 종류, 갯수: D8CB, D8CC
두번째 볼의 종류, 갯수: D8CD, D8CE
...
12번째 볼의 종류, 갯수: D8E1, D8E2

7fed8273b58a69f251ef83e741857073eaaae5f8435581971fb63af9fca7c559

D8CA에 02, D8CD에 01, D8CE에 FF, D8CF에 FF를 입력하면 두번째칸에 마스터볼 255개가 생긴다


--- 그 외 편리기능 ---

7fed8273b58a69f251ee82e146807d73b0ec9ebd21ff9d1afd854574f5700606

- 지닌 돈: D841~D843
각각의 값을 0F 42 3F 로 변경하면 999999원이 된다

- 획득한 뱃지: D84A, D84B
앞은 성도, 뒤는 관동뱃지임
값을 FF로 맞춰놓으면 각 지방의 뱃지를 모두 획득한것으로 된다

- 공중날기 지역 해금: DC6B~DC6E
모두 FF로 맞춰놓으면 공중날기 가능 지역이 모두 열린다

- 주인공 컬러팔레트 변경

7fed8273b58a69f251ee83e54f80727354bab8eec240c934c5355c14c2a49b97

7fed8273b58a69f251ee83e446857273c9eb109cf42e3797c0f6fcf360379da3

D4CF에 아래의 값을 입력하는것으로 필드의 주인공의 색상 변경이 가능하다(남주는 00, 여주는 01이 디폴트)
00: 빨강
01: 파랑
02: 초록
03: 갈색
04: 분홍
05: 은색(회색)
06: 나무색
07: 바위색


--- 뱅크 변경이 필요한 조작들 ---

7fed8273b58a69f251ee82e640827c7303609780818dfd7c370a9a40e1c3d1ab

에디터를 열었을때 중간 위에 있는 숫자가 뱅크의 숫자를 나타내는데, 저 숫자를 변경함으로써 롬과 SRAM영역의 데이터를 폭넓게 건드릴수 있게 된다
(셀렉트+십자키로 변경가능)
대부분은 롬뱅크 03에서 그 조작이 이뤄지지만, 아래는 뱅크 변경이 필요한 것들이다


- 시간 변경(롬뱅크 08)

주소값 4027에 커서를 놓고 셀렉트+A를 누르면 시간 재설정 화면이 나온다

7fed8273b58a69f251ee82e047807d73dc8046ef82212a792062995141f1aa64

7fed8273b58a69f251ee82e04182777338e3df419ad784d0d9a52a3bc2204d70

시간을 재설정했다는 메시지가 나오면 스타트버튼을 눌러 에디터를 일단 종료시키면 된다


- 주인공 이름 변경(롬뱅크 01)

7fed8273b58a69f251ee83e547847273208fc61bc14c128de2060b4353292ca1

주소값 6208에 커서를 놓고 셀렉트+A를 누르면 주인공 이름 설정이 가능하다

7fed8273b58a69f251ee83e5458276735754120f97093176e8a3037558169a7d

이름을 설정하면 이런식으로 화면이 바뀌니 마찬가지로 스타트를 눌러 에디터를 종료시키면 된다


--- 프로그램을 작성하여 실행 ---

크리스탈 기준 D002~D02B, D2B1~D420의 범위에 값을 입력한 후, 첫번째 입력값의 주소에서 셀렉트+A를 눌러 그 값에 따른 프로그램을 실행할 수가 있다

- 포켓몬 획득
01 07 00 09 C3 E2 25 47 2D ㅇㅇ ㅇㅇ 00 00 49 90

위에서 ㅇㅇ으로 된 부분은 각각 포켓몬의 내부번호와 레벨을 가리키므로, 원하는 값을 넣으면 된다

7fed8273b58a69f251ee8fe64e8170730ff0459c60fcdb0012addcb6497f4830

7fed8273b58a69f251ee8fe142847473fb24f850660cdf46c8e790cc8d05934b

지닌포켓몬에 빈칸이 있는 상태에서 코드를 실행하고 메뉴창을 닫으면 받은 포켓몬에게 닉네임을 붙이겠냐는 창이 나오고, 정상적으로 획득한것을 볼수가 있다
단, 셀렉트+A를 누를때 짧게 누르지 않으면 연속입력이 되어 게임이 튕길수도 있으니 주의하자


- 도감(안농도감 포함) 완성
3E FF 01 3F 00 21 2D DE CD 0D 30 3E 07 22 AF 0E
1A 3C 22 0D 20 FB 3E 01 23 22 2E 4C 36 07 C9

7fed8273b58a69f251ed86e74083747339a40ffda4ebbdb790a75bae92308df0

해당 코드를 실행하면 포켓몬 도감과 안농도감을 완성시키고, A 안농을 처음으로 포획한 것으로 해준다


~~~추가~~~

- gs볼 이벤트 활성화

SRAM뱅크 05의 A000과 A083의 값을 0B로 설정하고, 저장후 리셋을 한뒤, 금빛시티 포켓몬센터에 들어갔다가 나오려하면 gs볼 획득 이벤트가 발생한다

7fed8273b58a69f251ed87e04f837773aadf2d43166c2e8c4af95e7bf4eddc7d

7fed8273b58a69f251ed84e5438574732693b415c33b251bd20260c884609944

7fed8273b58a69f251ed84e444807173a068d6f9a257da1ff8bb264f132b0ed2

7fed8273b58a69f251ed84e444827473e3d70c038e8bf4ef03ed9e2a714014ec

7fed8273b58a69f251ed84e443817573d09c011f0e225c1e4ec5159a9c816a4c




아직 바이너리에디터로 할수있는건 상당히 많지만, 다 쓰려하면 글이 끝도없이 길어지기때문에 일단은 여기까지 하겠다

특히 크리스탈버전만의 특징인 모바일어뎁터gb 관련 컨텐츠 쪽으로도 이것저것 해보고싶은게 있어 어쩌면 나중에라도 글을 따로 쓰게될지도 모른다


- 참고 블로그