▼  |  全表示1000   | << 前100 | 次100 >> |  履歴   |   スレを履歴ページに追加  | 個人設定 |   ▼   
                  スレ一覧                  
ポケモン

【懐かしの】任意コード実行総合スレ2【バグ】

 ▼ 1 ンプジン@マーシャドーZ 21/08/28 19:30:51 ID:JAL2D/mY NGネーム登録 NGID登録 wf 報告
ようこそ任意コード実行総合スレへ!
ここはポケモンにおける任意コード実行についての語らいや質問、意見交換や情報共有、新たなバグの開拓などを目的としたスレです。
【任意コード実行って?】
ゲーム内のバグを利用して任意のプログラムコードを実行するものです。ポケモンでは、幻ポケモンや色違いポケモンが簡単に作れたり、努力値を一瞬でMAXにしたりできます。
【任意コード実行の例】
・赤緑青  →5かいバグ
・ピカ版  →森地図
・金銀水晶 →技マシンバグ(私がつけた仮称)
・FRLG・Em→バグポケモン読み込み
【参考ブログなど】
http://nakayoshibaddi.hatenadiary.jp/entry/2017/02/08/113232

nakayoshibaddi氏のブログ。5かいの代わりになかよしバッヂというバグアイテムを用いた任意コード実行について解説している。

http://nakayoshibaddi.hatenadiary.jp/entry/2017/08/15/223932
同氏のブログ。金銀の任意コード実行について解説している。

https://cordmx.hatenablog.com/entry/2020/04/16/173701

cordmx氏のブログ。水晶版の任意コード実行について解説している。

http://detelony.blog.fc2.com

デテロニー氏のブログ。Emのザロクバグを利用した任意コード実行について解説している。

・3世代総合 14 https://pokemonbbs.com/poke/read.cgi?no=992816

本BBSのスレ。Emの任意コード実行についての記述がある。

その他多くの人やスレで任意コード実行について記述されていますが今回は割愛させていただきます。
 ▼ 160 ロバー@こおったきのみ 21/12/06 21:45:18 ID:Ctx.qrtg [1/2] NGネーム登録 NGID登録 [s] wf 報告
>>159
ああでもよく考えたら壁紙の時点でスクリプト実行は出来てるのか...
すみません、こちらの勘違いでした
 ▼ 161 イアント@ルームサービス 21/12/06 23:22:01 ID:qijMUP16 [1/4] NGネーム登録 NGID登録 wf 報告
プレシャスボールのコードを入力してたらなぜか名無しのオーバと戦闘になった...(画像の状態でフリーズ)

ガチで謎
 ▼ 162 ーロット@キョダイパウダー 21/12/06 23:46:03 ID:qijMUP16 [2/4] NGネーム登録 NGID登録 wf 報告
マナフィタマゴも実機で入手し申した

成功率は100%ではないみたい
 ▼ 163 イリュー@シルフスコープ 21/12/06 23:50:51 ID:Ctx.qrtg [2/2] NGネーム登録 NGID登録 wf 報告
>>162
ついに4世代幻も制覇してしまいましたな

体感でどのぐらいの成功確率でした?
 ▼ 164 シボン@リンドのみ 21/12/06 23:58:07 ID:qijMUP16 [3/4] NGネーム登録 NGID登録 wf 報告
>>163
そんなに試行したわけではないのでなんとも言えないけど
だいたい60〜80%くらいかも
 ▼ 165 ノクラゲ@くろいメガネ 21/12/06 23:58:52 ID:qijMUP16 [4/4] NGネーム登録 NGID登録 wf 報告
あれ、同じ画像送ってしまっている
 ▼ 166 ワムラー@ももいろはなびら 21/12/07 00:00:11 ID:9uS6pKrY [1/5] NGネーム登録 NGID登録 wf 報告
めでたく誕生
 ▼ 167 トマル@しつもんメール 21/12/07 00:01:04 ID:NlKokBQ. NGネーム登録 NGID登録 wf 報告
後期版ダイパやプラチナじゃこのような手順ではできないのか?
 ▼ 168 ードー@きのみプランター 21/12/07 00:07:07 ID:P2mgwyAg [1/4] NGネーム登録 NGID登録 wf 報告
>>166
今自分も殿堂入り作業でコトブキに籠ってて、サーチャーリセットの後1歩動いてポケモンリーグに行くはずが
コトブキシティに行ってしまうことが確率で起きてるんですけど、その辺りの挙動とかもしかしたら関係あるのかな...?
ただ色マナフィも手に入れられると知り希望が湧きました!実機検証ありがとうございます!

>>167
プラチナは謎の場所に行けないようにされてるので現段階では出来ないかと...
 ▼ 169 ンガー@よつばアメざいく 21/12/07 00:10:54 ID:9uS6pKrY [2/5] NGネーム登録 NGID登録 wf 報告
>>167
後期版ダイパだとなぞのばしょでメニューが開けない(リタイアができない)ので不可能
海外版も同様
プラチナはそもそもなぞのばしょが存在しないので不可能

>>168
殿堂入り作業ではサーチャーリセットは行わず普通にリセットした方がいいかも
自分もサーチャーリセットしてたら同じくコトブキシティに行くことがあった
 ▼ 170 ロスター@プロテクター 21/12/07 02:56:19 ID:6vM20Ucw [1/3] NGネーム登録 NGID登録 wf 報告
>>151
実機成功第一号おめでとう


遅ればせながら俺も自ロムで成功を確認
>>109でやったのを実機で再現した

やったのは特性変更(不思議な守り化)と種族変更(ミカルゲ化)
電卓リミッター解除後に
0x000200A10200AB = 2201724518571 × 1
でボックス整理の画面を開けるからその場で書き換えが可能

打ち込みさえ頑張ればこれで理論上どんなポケモンでも作製することが出来るようになった
 ▼ 172 ットロトム@かわらずのいし 21/12/07 02:57:06 ID:P2mgwyAg [2/4] NGネーム登録 NGID登録 wf 報告
やはりというかなんというかサーチャーリセット時に初期SEEDもリセットされるみたいだから
マナフィの色違い自体は然程難しくは無いけど6VやA抜け5Vといったマナフィを狙うとなるとかなり厄介だな…永眠
 ▼ 173 アームド@うっかりやミント 21/12/07 02:59:30 ID:P2mgwyAg [3/4] NGネーム登録 NGID登録 wf 報告
>>171
細かい所で悩んでたらなんかもう色々破壊されてて草
頭おかしいよ(最大限の称賛)
 ▼ 174 チンキー@イバンのみ 21/12/07 03:10:59 ID:6vM20Ucw [3/3] NGネーム登録 NGID登録 wf 報告
>>172
乱数値ポインタに任意の乱数値を打ち込めば任意の個体を出現させられるかも?
まあポインタがどこにあるのかは知らんけど…

マーキングACE(って勝手に呼んでる)で何もかものデータ書き換えて作るのも手ではある
 ▼ 175 ィアンシー@インドメタシン 21/12/07 03:20:52 ID:P2mgwyAg [4/4] NGネーム登録 NGID登録 wf 報告
>>174
メモリ構造割れたらいよいよ第3世代と遜色無い自由度になっちゃうな…
夜分遅くまで実機検証報告ありがとうございます…!

イベントフラグ弄れるようになっちゃったらバグだらけスペシャルが過去のものになりそう
こっちの方が過去作なのに…
 ▼ 176 ントラー@するどいくちばし 21/12/07 06:29:04 ID:NCx6ENmg NGネーム登録 NGID登録 wf 報告
凄いことになってるなと思った自分のは未完成だけど大した物ではないが新しい可能性の別の任意を見つけた
トレーナー倒してアイテムセットアップだけで可能しかしボール個数というかボール値の番号で詰んでる
一応ボールの個数だけで殿堂入りを呼び出したりエミュだけどDSダイパで出来た

海外の任意のアイテムセットアップ少し弄っただけで出来たボール個数のモンボを11個かなくして
スーパーボール339個の所がスクリプトになる
あとはトレーナー倒して14Cか14Dでリタイアするだけ
今回は218ばんどうろのギターリスト倒してそのマップにメモリビューアで入ると出来た恐らく実機でも可能
上のはスーパーボール番号のフシギバナが一応ながら出現する



 ▼ 177 メルゴン@きょうかポケット 21/12/07 09:45:13 ID:u22UDSdE NGネーム登録 NGID登録 報告
>>133のルート通りにやってるんだけどパラパークが一向に始まる気配が無い
セットアップは>>129の通りでやってるけどどこか悪いんだろうか🤔
 ▼ 178 ノクラゲ@いでんしのくさび 21/12/07 10:00:53 ID:zYPYLlKY NGネーム登録 NGID登録 報告
>>174
ポインタを探してみたらこんなのが
https://projectpokemon.org/home/docs/other/notable-breakpoints-r31/
それっぽいの幾つかあるけど実際にどれが使われてるのか分からん

>>177
ボックス18/30番目に置くポケモンの性格値が間違ってるのかも
 ▼ 179 ードリオ@だいだいバッジ 21/12/07 13:55:06 ID:Bq2EjmAM [1/4] NGネーム登録 NGID登録 wf 報告
>>178
177じゃないけどボックス18の30番目に性格値0x00FB014D置いたらできました!ありがとうございます!
 ▼ 180 ランセル@アゴのカセキ 21/12/07 13:59:32 ID:Bq2EjmAM [2/4] NGネーム登録 NGID登録 wf 報告
プレシャスボール買ったらコード実行できなくなっちゃった…
 ▼ 181 ークライ@ピーピーエイダー 21/12/07 14:22:11 ID:l7h2JGu. [1/2] NGネーム登録 NGID登録 wf 報告
>>180
普通のフレンドリーショップで買い物すると殿堂入りの記録を上書きするから、たぶんそのせい
 ▼ 182 ローラゴローン@リンドのみ 21/12/07 14:38:18 ID:Bq2EjmAM [3/4] NGネーム登録 NGID登録 wf 報告
>>181
Oh…
スクリプトの007Bってやつを使えば直接入手できるのかな?また試してみます!
 ▼ 183 メテテ@ちかのかぎ 21/12/07 14:43:42 ID:kXBoA7eQ NGネーム登録 NGID登録 wf 報告
願い事ラッキー運命フラグついてるのか…個体生成法も特殊のようで
任意ダメタマゴから作るしかなさそう。ポケモンボックスはタマゴ時は運命的とあるけどフラグなし
 ▼ 184 オル@かわらのかけら 21/12/07 18:06:06 ID:9uS6pKrY [3/5] NGネーム登録 NGID登録 wf 報告
>>78の電卓リミッター解除を試みているんだけど
step6の計算をした後にリタイアするとそれ以降電卓が入力できなくなる...
どうすればいいんだろう
 ▼ 185 イリキー@カンムリパス 21/12/07 18:36:55 ID:sXxo89aQ NGネーム登録 NGID登録 報告
>>184
適当に図鑑とか開いてグラフィックリロードすれば2つ目の入力が出来るようになるよ
 ▼ 186 イバニラ@ドラゴンジュエル 21/12/07 19:36:04 ID:9uS6pKrY [4/5] NGネーム登録 NGID登録 wf 報告
>>185
いけた ありがとう
 ▼ 187 ッスグマ@ぼうごパット 21/12/07 20:02:14 ID:l7h2JGu. [2/2] NGネーム登録 NGID登録 wf 報告
>>184
1行ですむようになったからこっちを使ってほしい

電卓リミッター解除
124,286,369 * 1,250,149,543
 ▼ 188 ワライド@タブンネナイト 21/12/07 20:09:09 ID:Bq2EjmAM [4/4] NGネーム登録 NGID登録 wf 報告
プレシャスボールを897個増やすコードって
7293182031‬ * 5058627093‬ = 2000000100381007B
で合ってる?フリーズしちゃったけど…

あとマナフィの卵もフリーズしたけど運が悪いだけ…?
 ▼ 189 タグロス@ちかのかぎ 21/12/07 21:32:48 ID:MQqYMB2A NGネーム登録 NGID登録 報告
>>177
遅ればせながら言われた箇所を新たに調達してやってみたら出来ました!
ありがとうございます!

ただ未だにフリーズばかり引くのが謎
5-21〜18-30の間にポケモンを置いてるのがマズいんだろうか
もう一点気になるのが殿堂入り画面を表示する時は29回目まで表示しないといけないのかな
 ▼ 190 ツハニー@アメボトル 21/12/07 21:37:51 ID:9uS6pKrY [5/5] NGネーム登録 NGID登録 wf 報告
>>188
多分64bit(18,446,744,073,709,551,616)に収まるコードじゃないとダメなんだと思う
 ▼ 191 スイゾロアーク@きのみ 21/12/07 23:04:38 ID:3QCQl9bE NGネーム登録 NGID登録 報告
>>187
これは良い

>>189
ちゃんと技マシン捨ててる?
 ▼ 192 ンチャム@ひかりのねんど 21/12/08 09:01:58 ID:9R5E.rgY NGネーム登録 NGID登録 wf 報告
>>133
このサイト504エラーで見れないです…
 ▼ 193 ルマユ@ハイパーボール 21/12/08 16:43:43 ID:2n9we/GI [1/2] NGネーム登録 NGID登録 wf 報告
マーキングACEでポケモンコピーが出来ないかと試行錯誤していたが、何とか形に出来た

・ポケモンコピー
144117416537882631 × 1
186901612997967879 × 1
182398013370662919 × 1
153969040722952199 × 1
198160612066590727 × 1
150872815979266055 × 1
198442087043432455 × 1
150872815979397127 × 1
163257714954731527 × 1
153687565746634759 × 1
147213641282355207 × 1
206886336345079815 × 1

電卓リミッター解除後に上記式を計算してボックス整理を開く
ボックス内に、適当なポケモンA,コピーしたいポケモンB,空き/不要なポケモンC、という順で配置する
この状態でAにマーキング→決定をすると、BがCにコピーされる
続けてBにマーキング→決定をすると、Cが右隣のマスDにコピーされる
同工程を繰り返すと沢山コピー出来る


DPはポケモンの暗号化が中々曲者で、コピーするのも一筋縄ではいかない
最初はコピー元本体にマーキング→決定をする方針で調査していたが、これだとダメタマゴ化して上手くいかなかった(どうやらマーキング変更の際に一時的にポケモンが復号化される為、そのままコピーすると復号化データが暗号化済みとしてコピーされチェックサムが異常となるかららしい)
本体とは別のポケモンに対して行うことで、本体の復号化を回避して無事コピーに至る

後マーキングACEは電卓で1バイトずつしか書き換えが出来ないからどうしても計算が多くなる
c0005とかc0008とかも試したけどダメだったわ
まあここは頑張ってもらうしかない
 ▼ 194 マケロ@クイックボール 21/12/08 16:55:08 ID:EOeEBFpE [1/2] NGネーム登録 NGID登録 wf 報告
>>193
全然原理がわからん
入力した数字の意味も解説たのむ
 ▼ 195 ットロトム@とうめいなスズ 21/12/08 17:17:16 ID:8ivIb2fo [1/3] NGネーム登録 NGID登録 wf 報告
>>193
できました…悪魔的だ
 ▼ 197 ーナンス@ぎんのパイルのみ 21/12/08 17:53:53 ID:qCF.Gs0U NGネーム登録 NGID登録 wf 報告
纏めたけどこれで合ってる?

・準備
・28回殿堂入りする
・回復ポケット
1番目:インドメタシン×22
2番目:元気の欠片×1

・ボックス5
21番目:性格値0xD7560016

・ボックス壁紙(https://www.pokewiki.de/Spezial:Geheimcode-Generator?uselang=ja にて入手)
13:伝説
14:森
15:伝説
16:ギンガ団
17:シンプル
18:森

・セットアップ
1.手持ち1匹の状態で2004/1/1に殿堂入り
2.1匹目をツチニン, Lv22,性格値0xFFFD218Cにして殿堂入り
3.手持ち5番目を性格値0x33620016のポケモンにしてレポートする
4.殿堂入りを見る
5.コトブキバグでマップ333に行きリタイア
 ▼ 198 ラブ@しめったいわ 21/12/08 17:58:11 ID:2n9we/GI [2/2] NGネーム登録 NGID登録 wf 報告
>>194
マーキングACEはその名の通りマーキングを変更する時のプログラム(アドレス0x0206DAB0にある)を書き換えて、任意のアセンブリプログラムコードを実行するというもの(つまりASEではなくACE)

>>193は0x0206DAB0に
00 98 88 23 C0 18 C1 18 44 22 0B DF
という値を打ち込む(あんだけ打ってこれだけ…w)
これは、選択したポケモンの先頭アドレスから次(+0x88)とその次(+0x110)のポケモンの先頭アドレスを読み込み、次のポケモンのデータ136バイト分をその次のポケモンに丸々コピーするという命令が書かれている
まあこの辺はARMのアセンブリが分からないと説明しても理解出来ないかも…
ただ、第3世代も同じARMのアーキテクチャなので、第3世代のコードが読めれば第4世代のもそのまま読めるようにはなる

取り敢えず、こうしてマーキングプログラムの領域に任意のプログラムを打ち込んでやることで、マーキング変更時にその任意のプログラムを実行出来る

>>195-196
もう実機でやったの⁉︎
早過ぎるwww
 ▼ 199 リザポス@バトルサーチャー 21/12/08 18:50:31 ID:EOeEBFpE [2/2] NGネーム登録 NGID登録 wf 報告
>>198
解説ありがとう

マーキング使うのかしこいな
マーキングなら種類あるしいろんな自作関数の呼び出しに使えそう
 ▼ 200 クレー@かいふくポケット 21/12/08 21:40:58 ID:8ivIb2fo [3/3] NGネーム登録 NGID登録 wf 報告
>>193
これ応用すればポケモンを削除することもできるのね
ダメタマゴの削除とかにも役立ちそう
 ▼ 201 ヒダルマ@ヘルガナイト 21/12/08 22:01:51 ID:kqYQO95g [1/2] NGネーム登録 NGID登録 報告
>>197
壁紙を使った方法(>>129)のセットアップはここにまとまっているっぽい
https://www.craft.do/s/YLb8MlRhv6Un3i
 ▼ 202 ジスチル@グッズケース 21/12/08 22:10:06 ID:kqYQO95g [2/2] NGネーム登録 NGID登録 報告
海外のコミュニティで質疑応答が始まってるから有識者に参加してほしい。セットアップもっとシンプルになるかも
例の動画(https://www.youtube.com/watch?v=tmPzFAuKMA8&ab_channel=RETIRE
の説明文にVoidmatrix discordのURLがある。ここの#gltch-barで議論してる
 ▼ 203 イナン@メガブレス 21/12/09 06:07:58 ID:nclAhIvs NGネーム登録 NGID登録 wf 報告
乱数調整をしようとして調査してたんだけど初期SEEDの選択肢が恐ろしいまでに狭いことが判明してしまった
具体的にはつうしんサーチャーのリセットから復帰するまでに内部では10Fしか経過してないのか0x○○△△000aの形にしかならない
おそらく直接初期seedをいじらない限りは理想個体をツモるのは不可能
 ▼ 204 カチュウ@ぎんいろのはね 21/12/09 11:14:40 ID:5vuojMxs NGネーム登録 NGID登録 wf 報告
簡易メモリエディタをつくった
https://www.craft.do/s/5bt1DzOVQhYtA3

これでやっとまともにプログラムが書き込めるようになる
 ▼ 205 ガヤドラン@あかいかけら 21/12/09 12:14:07 ID:yt.Ek1bc NGネーム登録 NGID登録 報告
ザロクバグの任意コード実行みたいに、育て屋から任意の性格値のタマゴ受け取れたりするんかな
 ▼ 206 ャワーズ@おはなのおこう 21/12/09 20:46:36 ID:ARmkaR7Q NGネーム登録 NGID登録 報告
>>204
これ使ってバイナリエディタ作れない?
 ▼ 207 ースター@ライボルトナイト 21/12/09 21:05:34 ID:HxZk4BzE [1/2] NGネーム登録 NGID登録 wf 報告
>>201
これで行ってもパルパークが始まらない。
一応そのまま左に行くとちょうど32歩で画面は暗転するので、位置は合ってると思うのだが....
 ▼ 208 ルキア@イワZ 21/12/09 21:23:55 ID:OQ3I00uo NGネーム登録 NGID登録 wf 報告
>>207
だとするとボックス18の30番目に置いているポケモンの性格値が間違っていると思う
 ▼ 209 プリン@メタグロスナイト 21/12/09 21:32:59 ID:HxZk4BzE [2/2] NGネーム登録 NGID登録 wf 報告
>>208
間違ってました。
やり直します。ありがとうございます。
 ▼ 210 ンムー@ミズZ 21/12/10 14:38:18 ID:OIe.zSVQ [1/2] NGネーム登録 NGID登録 wf 報告
>>204
これはマーキングACEにとっては非常に心強い味方でありがたい

この関数を何とかセーブデータ上に記録出来ないかと模索している最中、幾らかコードの効率化が出来たのだが如何だろうか?

$8000
2380 movs r3 0x80

$8002
A00E add r0 =$803C
C806 ldmia [r0]! r1-r2
6809 ldr r1 [r1]
5889 ldr r1 [r1+r2]
2B80 cmp r3 0x80
D001 beq $8012
6001 str r1 [r0]
4770 bx r14(lr)

$8012
6803 ldr r3 [r0]
C302 stmia [r3]! r1
6003 str r3 [r0]
4770 bx r14(lr)

書き込み関数とカーソルセット関数の共通パートを一纏めにし、$8000から実行すれば書き込み関数、$8002からならカーソルセット関数に分岐するような形にしてみた
これで手順2の$8044のポインタ入力と手順5を丸々カット出来ると思う


>>193で判明したポケモンデータの一時的な復号化を利用すればデータを適当なヒープに展開して実行出来ると思い、ポケモンデータに関数をぶち込もうと考察していたのだが、これだけ圧縮してもまだデカ過ぎるようだ…
命令だけは何とか再現出来てもポインタを書くスペースがない…
 ▼ 211 ーマルド@ガルーラナイト 21/12/10 17:52:50 ID:GorsY74c NGネーム登録 NGID登録 wf 報告
>>206
正直ウィンドウとか文字の表示方法がよくわかってないのでわからん
プログラムが出来上がった暁には入力の助けにはなると思う

>>210
ありがとう。こっちの方が短くていいね
エントリーポイントが複数ある関数ってアセンブリの黒魔術って感じだ
$8002でr3が初期化されてないけどこれは0x80になることはないってことかな?

とりあえずこれをもとにしてまた書き直してみる
 ▼ 212 ブラーバ@わすれもの 21/12/10 20:13:59 ID:OIe.zSVQ [2/2] NGネーム登録 NGID登録 wf 報告
>>211
なるべく命令数減らす為に例外ありの分岐になってるから、もしカーソルセットの際に既にr3に0x80が入っていた場合は失敗します…
書き込み関数の後ならr3が更新されてるから問題ないはず
0x80でマズそうなら他の値に変えることも出来るけど、まあ多分どれ選んでも変わらんか…

ポケモンの復号化データについて調べていたが、復号化されている間はデータを書き換え放題(書き換えた後にチェックサムが再計算されてダメタマゴ化しない)だということが分かり、一度手打ちでヒープに入力した関数プログラムをそのままポケモンにぶち込むことが出来た
しかし、ブロック配列によってはポケモンがあらぬ変化を遂げてカーソルを合わせるのが危険な状態になるから、特定の性格値を持ったポケモンを用意した方が無難そう
だが、ぶち込んだ関数をヒープに展開する際も結構な入力がいるし、そこまでしてポケモンに記録させる必要性もなさそうな気がしてきた…
 ▼ 213 カルゲ@ポケじゃらし 21/12/11 10:07:46 ID:0oPcte6g [1/3] NGネーム登録 NGID登録 wf 報告
>>212
r3の値は運用でカバーってことね

後半についてだけど今やろうとしているのは、復号→書き換え→暗号化 して保存して、実行するときは復号→実行 っていう想定なのかな?
それなら暗号化された状態のまま書きかえて暗号化された状態のままで実行してはいかんのか?
 ▼ 214 ュウ@フシギバナイト 21/12/11 10:19:02 ID:0oPcte6g [2/3] NGネーム登録 NGID登録 wf 報告
>>213
要するに、暗号化された状態だと意味のある機械語として読めて、逆に復号するとランダムで無意味なデータになる
っていう状況
 ▼ 215 ンバドロ@ひこうのジュエル 21/12/11 14:45:28 ID:qwLAR0o. [1/3] NGネーム登録 NGID登録 wf 報告
これよく考えたらフリーズした時にわざわざ最初からvoidルートを走り直さなくてもいいんだね…

パルパーク突入直前でレポート

パルパークでリタイアして帰還

コトブキシティに飛ぶ

殿堂入り記録を見る

voidに行く

つうしんサーチャー(エラー)

これで殿堂入り記録を保持したままパルパーク突入直前に戻れるので
コード入力ミスとかでフリーズしても安心
 ▼ 216 ローラニャース@ミュウツナイトY 21/12/11 15:03:43 ID:0oPcte6g [3/3] NGネーム登録 NGID登録 wf 報告
>>215
天才
 ▼ 217 エトル@やんちゃミント 21/12/11 16:38:55 ID:qwLAR0o. [2/3] NGネーム登録 NGID登録 wf 報告
>>216
ありがとう

これで本格的に333に引きこもれるようになった…片っ端からスクリプトコード検証もできる
脱出する時があるとすれば購入アイテムを持ち帰る時くらいか
 ▼ 218 ソハチ@たいようのふえ 21/12/11 17:24:59 ID:TXikJbUI NGネーム登録 NGID登録 報告
今北産業
 ▼ 219 シャーモ@ぎんのパイルのみ 21/12/11 18:56:39 ID:jmv2DZaY NGネーム登録 NGID登録 wf 報告
浅学で申し訳ございません
2010001EA0097と入力して実行すればマナフィの卵を入手できると思います
01EA=マナフィ
0097=卵を入手
なのはわかるんですが20100は何を表しているのでしょうか?
 ▼ 220 カチュウ@メガストーン 21/12/11 19:01:37 ID:FLVU03/U NGネーム登録 NGID登録 報告
>>213
まあ暗号化されたポケモンデータに直接飛んでプログラム実行出来れば確かに楽なんだけどねぇ…
チェックサムを制御しつつポケモンデータを自在に調整する技術は俺にはない…w

取り敢えず、ヒープ展開のプログラムも序でにポケモンにぶち込んでおけばマーキングACE自体のプログラムは1命令で済むから、どうしてもポケモンに記録させるならこの手法を取るのが良いか

>>215
これは完全に盲点だったわ…w
これなら多少の成功率の低さも気にならなくなるから殿堂入りデータの要件も従来のシンプルなヤツで良さそうだな
 ▼ 221 つばん@おっとりミント 21/12/11 19:43:47 ID:bhpcksbE [1/2] NGネーム登録 NGID登録 wf 報告
64です一応高速アルセウスルートを開拓した方と同じです。まぁ今の任意の進化に驚きです。
>>215のおかげでだいぶ楽になりました新しい任意コードを試すの役にたちました。
(゜-゜)未完成ならボールスクリプト任意コードを実機で成功しました。
スーパーボールがスクリプトだとエミュだといいが実機では駄目だったが
モンスターボールの個数がスクリプト化する事に成功トレーナー倒すだけで可能
自分の見つけた任意コードは殿堂入り不要ここから
PCボックスを開く殿堂入り任意コードに繋げるが今の所目標
こちらの方法だとボール番号のポケモンしか出せないのと作成できない問題があるが
色んなスクリプトをすぐ試せる
 ▼ 222 トモシ@きいろのはなびら 21/12/11 20:11:29 ID:Od8oRESM NGネーム登録 NGID登録 wf 報告
マナフィ卵ってなぞのばしょからやってきたとなってるけど通信交換したら通信交換で手に入れたとなるよね
あの時って謎の場所からやってきたって所の情報は上書きされるの?
それとも内部では謎の場所で受け取った記録は保持されるのかな
 ▼ 223 ッシード@ガオガエンZ 21/12/11 20:59:31 ID:x6M2iCEw NGネーム登録 NGID登録 報告
180145915682685476(16進数だと28001C180010224)で手持ち1番目にさばきのつぶてを覚えさせられるかと思ったんだが……
覚えさせるところまではいくんだがその後暗転したまま操作できる画面に戻れない
どうしてなのだ
 ▼ 224 メパト@ヤドランナイト 21/12/11 23:10:11 ID:qwLAR0o. [3/3] NGネーム登録 NGID登録 wf 報告
>>219
“2”は終了スクリプト
”0100”はスクリプト97(タマゴget)ならレベルに当たる数値だけど、
タマゴにレベルなんて無いから特に意味はないかも
 ▼ 225 キジカ@スキルコール 21/12/11 23:57:58 ID:bhpcksbE [2/2] NGネーム登録 NGID登録 wf 報告
>>221と同じ方です殿堂入り不要電卓不要でな好きなタマゴを作る事に成功多分実機でも出来るはずあとで試す
ボールで任意のスクリプトが実機で出来たので
今回のはきのみ番号がスクリプトだけど今回の場合は個数が種類になってるので
マナフィのタマゴも簡単に作れる
一応やり方は簡単で
必要などうぐはまひなおし10個 マナフィの場合モモンのみ490個あればOKきのみは増殖バグが用いればいいだけ
あとは>>215の方のルートで多分どのトレーナーでもいいと思う倒したら
コトブキ自転車バグでポケッチカンパニーに入りそのすぐ左下が謎の場所なので
通信サーチャー使ってボックス18の30番目に用意した14Cまたは14DとFB00のパルパーク化で可能です。
また倒してしまったトレーナーはバトルサーチャーで復活可能
 ▼ 226 ゲンダイナ@イトケのみ 21/12/12 00:08:19 ID:LAfsYc7c NGネーム登録 NGID登録 wf 報告
>>204
良いこと思い付いた、タウンマップ使うのやめよう(提案)

$8000
A00E add r0 =$803C
C80E ldmia [r0]! r1-r3
6809 ldr r1 [r1]
5889 ldr r1 [r1+r2]
2B80 cmp r3 0x80
D001 beq $8010
6001 str r1 [r0]
4770 bx r14(lr)

$8010
6803 ldr r3 [r0]
C302 stmia [r3]! r1
6003 str r3 [r0]
4770 bx r14(lr)

カーソルのポインタは$8048に移動させ、$8044には条件分岐用の値をセットする
$8044が0x80以外であればカーソルセット関数になり、c0007で$8044に0x80をセットすれば書き込み関数になる
再びカーソルセットに切り替えるにはc0007で$8044に0x80以外の値をセットすればよい
これで条件分岐に例外がなくなり、関数の命令数が1つ減り、タウンマップ関連の書き換えも不要となる
 ▼ 227 ガチルタリス@メガラペルピン 21/12/12 00:11:20 ID:YiZY51KA NGネーム登録 NGID登録 wf 報告
>225です。すみません作れたにはいいが透明ダメマタゴできたのでちょっとアイテムの調整やり直してみる
 ▼ 228 ライガー@きょうかポケット 21/12/12 22:07:27 ID:wyDAgpZw NGネーム登録 NGID登録 wf 報告
任意コード実行で入手したマナフィの卵ってポケモンバンク通ります?
色マナフィが問題ありで弾かれてしまった…任意コード実行でコピーしたポケモンだからかな?
 ▼ 229 ンペルト@けいけんアメXS 21/12/12 23:15:54 ID:v07kVZ46 NGネーム登録 NGID登録 wf 報告
>>228
レンジャー産の正規マナフィは運命フラグ付いてるから付けないと通らないと思う
その手の知識皆無なのでどんなコードを入力すればいいのかまでは分からないけど…

成功率100%の方のセットアップって吸出しの機械ないと無理だったりします?PKHeXの"親など"タブの"余分なバイト"ってやつがよくわからない…
 ▼ 230 ニータ@おおきなしんじゅ 21/12/13 01:13:32 ID:0KGoK9/s [1/3] NGネーム登録 NGID登録 wf 報告
>>229
未使用の領域のこと
バグってない限り全部0
 ▼ 231 ロッパフ@つめたいにんじん 21/12/13 01:16:18 ID:0KGoK9/s [2/3] NGネーム登録 NGID登録 wf 報告
 ▼ 232 ゼリア@きいろのバンダナ 21/12/13 01:57:28 ID:ae.oBfrE NGネーム登録 NGID登録 wf 報告
>>226
いや、逆にタウンマップで関数実行して"."関連を省略すべきか
"."関連のプログラムは電卓がリロードされると全てリセットされるから、ボックスを開くマーキングACEとは頗る相性が悪いことが判明した
タウンマップ関連はちっとやそっとじゃリセットされないからこっちの方が向いている

殿堂入りデータに必要なLv22ツチニンのブロック配列を利用して
・Cブロック
05 48 06 49 08 60 28 00 22 21 09 02 93 31 09 03
10 22 0B DF 14 B0 F8 BD 01 30 29 02 A0 90 0F 02
・Dブロック
05 A0 0E C8 09 68 89 58 80 2B 01 D0 01 60 70 47
03 68 02 C3 03 60 70 47 18 88 10 02 00 2F 11 00
↑をぶち込む方針で只今調査中
ヒープ展開する際はマーキングACEにてこのツチニンのCブロック(r6)にジャンプする

>>229
ポケモンデータは基本的にマーキングACEで簡単に書き換えられる
メモリエディタの完成まではc0007での打ち込みになるけど、もし現段階でマーキングACEを試したい人は尋ねてくれれば簡単なのは答える
 ▼ 233 ラルマタドガス@ダイマックスアメ 21/12/13 08:52:34 ID:rRqk5KsM NGネーム登録 NGID登録 報告
>>232
個人的には運命的な出会いフラグの付け方や出身バージョンの変え方が気になりますね...
 ▼ 234 ガハガネール@ふしぎなアメ 21/12/13 09:40:56 ID:Po5EpUUI NGネーム登録 NGID登録 報告
>>233
どちらも1バイトデータだから簡単
下記を10進数に変換して電卓リミッター解除後に入力、その後ボックス整理を開いて目的のポケモンにマーキング→決定

・イベントフラグ
2XX0206DAB00007
2200206DAB10007(省略可)
2280206DAB20007
2760206DAB30007

XX=01でイベントフラグ付与
※フォルム違いのあるポケモンはフォルムデータも内包されているので注意
https://projectpokemon.org/home/docs/gen-4/pkm-structure-r65/
???タイプのアルセウスとか出せるかも?


・出身バージョン
2XX0206DAB00007
2200206DAB10007(省略可)
2280206DAB20007
2760206DAB30007

XXは下記参照
https://m.bulbapedia.bulbagarden.net/wiki/Game_of_origin
1バイトあるから理論上は全てのゲームに変えられる
 ▼ 235 ンクルス@ポテトパック 21/12/13 09:44:07 ID:HCvwNI4w NGネーム登録 NGID登録 報告
>>234
出身バージョンミスった
こっちです

・出身バージョン
2XX0206DAB00007
2200206DAB10007(省略可)
2F00206DAB20007
2750206DAB30007
 ▼ 236 ンゲラー@あおいバンダナ 21/12/13 10:12:17 ID:BqSsG.KY NGネーム登録 NGID登録 報告
>>234->>235
ありがとうございます!
帰ったら試してみますね
 ▼ 237 チュール@メカニカルメール 21/12/13 10:43:37 ID:yGvQJwzg NGネーム登録 NGID登録 wf 報告
>>230
>>231
ありがとうございます!
 ▼ 239 ンカラス@シールぶくろ 21/12/13 14:44:07 ID:SVh2r55A NGネーム登録 NGID登録 wf 報告
エメラルドの汎用コード環境を用いて個体生成する方法で、任意のポケモン名、個体血、性格などを入力すると ボックス名を何に変えたらいいか教えてくれるサイトって誰かご存知ないですか??
過去に一度、それを使ってポケモン生成をした記憶があるのですが、いかんせんサイトが見つからなくて... スマホで検索してますが、pcのみならpcで見るので、ご存知の方いれば教えて頂けると幸いです
 ▼ 240 ムパルド@かわらずのいし 21/12/13 21:45:30 ID:cldIku0Q NGネーム登録 NGID登録 wf 報告
>>239
pcのアプリケーションになるが任意コード実行補助ツールかな?
 ▼ 241 ロモリ@ポロックキット 21/12/13 22:39:44 ID:kalMzpWI NGネーム登録 NGID登録 wf 報告
>>234 イベントフラグ出来ました、感謝
最初10進数の変換を間違えて下記のコード入力したら、大湿原の望遠鏡を覗くイベントが発生してビックリした。望遠鏡を覗き終わったらフリーズしたから実用性は全くないけど…
144398891514593280 × 1
153124615792689150 × 1
155376415606439940 × 1
 ▼ 242 ースト@スーパーボール 21/12/13 23:04:57 ID:0KGoK9/s [3/3] NGネーム登録 NGID登録 wf 報告
 ▼ 243 イコウ@コオリZ 21/12/13 23:07:07 ID:OkEQID/6 NGネーム登録 NGID登録 wf 報告
>>241
よほど衝撃的な場面を見てしまって腰抜かしてしまったんやろなぁ…
 ▼ 244 ワーク@くろおび 21/12/13 23:35:27 ID:.1/.b3zE NGネーム登録 NGID登録 [s] wf 報告
ふしぎなアメって増やせませんかね
007Bだと64ビット超えますしプレシャスボールみたいに店売りしてる感じでもなさそうですしで
 ▼ 245 ャオニクス@あかのはなびら 21/12/14 01:39:25 ID:IFEExNiI [1/2] NGネーム登録 NGID登録 wf 報告
>>232
マーキングACEで変更するポケモンデータを選ぶ際に法則性みたいなものはありますか?
(このデータを参照したいならこの数値にする、といったような)

自分で20280206DAB2の28の箇所を何回か変えて試してみたんですが、ポケモンデータ構造のサイトと照らし合わせてもあまり法則が掴めず...
 ▼ 246 ラルマッギョ@エルレイドナイト 21/12/14 09:06:10 ID:wSUspUOg [1/2] NGネーム登録 NGID登録 wf 報告
>>234-235
メチャクチャ嘘吐いた
0206DAB1はどっちも省略不可だわ
個人的に特性変更化の後のメモだったから省略していただけだった…

お詫びに特性書き換えるの書いときます

・特性
2XX0206DAB00007
2200206DAB10007
2780206DAB20007
2730206DAB30007(省略可)

XXは下記参照
https://m.bulbapedia.bulbagarden.net/wiki/List_of_Abilities_in_other_languages
表は10進数なので16進数に変換するよう注意
この時代は123(0x7B)のナイトメアまでしかない


>>245
レジスタっていう記憶装置がr0〜r15の16本あるんだけど、その内r13(sp)が性格値等の非暗号化データ、r7が種族等のAブロック、r5が個体値等のBブロック、r6が出身バージョン等のCブロック、r1とr2がボール等のDブロックの先頭アドレスを記録していて、その先頭アドレスから何バイト目を参照するかによって書き換えるデータが変わる
例えば上記の特性の場合、Aブロックの14バイト目にあるのでr7の14バイト目(先頭アドレス+0xDの位置)を参照している
ただしこれはアセンブリ言語でプログラミングが出来ないと上手く目的の箇所を書き換えられないと思うので、闇雲に値を変えるだけでは無駄、というか危険
 ▼ 247 タッコ@ハガネZ 21/12/14 17:31:38 ID:wSUspUOg [2/2] NGネーム登録 NGID登録 wf 報告
>>232
何とかこのCブロックに便利ボタン有効化プログラムも捻じ込めないかと模索していたが、漸く形になった

・Cブロック
04 A0 0E C8 11 60 E0 22 1A 70 01 39 10 22 0B DF
13 B0 F0 BD 01 30 29 02 A0 90 0F 02 B5 0B 06 02
・Dブロック
05 A0 0E C8 09 68 89 58 80 2B 01 D0 01 60 70 47
03 68 02 C3 03 60 70 47 18 88 10 02 00 2F 11 00

これでタウンマップ参照先書き換えと便利ボタン有効化、Dブロックの関数をヒープに展開するプログラムが全て一纏めになった
マーキングACEで0x0206DAB0に打ち込んだ46B7(mov r15(pc) r6)を実行するとCブロックにジャンプし、上記プログラムが実行され一気にメモリエディタの実行環境が整う算段
エミュ上では↑をぶち込んだポケモンを見ても特に異常は発生しなかったから大丈夫だと思うのだが…
 ▼ 248 グマッグ@あおぼんぐり 21/12/14 22:48:36 ID:IFEExNiI [2/2] NGネーム登録 NGID登録 wf 報告
>>246
なるほど、自分はアセンブリ言語に関しては全く理解していないので難しそうですね...

Emの手持ち書き換えコードみたいな感覚で使えるので配布個体の再現とかがかなりやりやすそう
 ▼ 249 ュレム@にじいろのはね 21/12/14 23:02:26 ID:J7TkUDio NGネーム登録 NGID登録 wf 報告
任意コード実行やりたさにダイパのロム買おうと思ってるんだけど初期版しゃないとダメとかってある?
 ▼ 250 ムスター@きかいのぶひん 21/12/15 00:15:34 ID:alpQ8vLs NGネーム登録 NGID登録 wf 報告
>>232
マーキングをするとポケモンに書き込んだプログラムを起動する方向で今やってる

ポケモンに書き込むプログラムは、簡易メモリエディタを所定の位置に展開して、タウンマップ書き換えや"."ボタンの書き換えも一緒にやる、って内容
たしかにマーキングと電卓の相性が悪いけど、便利ボタン押すたびに毎回"."用の設定を書き込む処理を追加すれば問題は回避できる
 ▼ 251 ローン@いのちのたま 21/12/15 01:19:19 ID:xx4Ma6KA [1/2] NGネーム登録 NGID登録 wf 報告
>>248
一応no$gbaってエミュレータを使うとアセンブリの勉強が出来るよ
俺も一昨年まではプログラミングのプの字も知らないド素人だったが、これ一台で汎用コードその他諸々のサンプルコードの作製や第4世代の任意コード実行セットアップの考案まで漕ぎ着けるレベルにはなった

>>249
レポートやリタイアの地点でメニューが開けるなら後期版でもいけそうではあるが…(後期版は持ってないから分からない)

>>250
となると書き込み関数とアドレスセット関数は分けるべきか
なるべく種族やPP関連のデータを踏まずにやり繰りしないといけないから大変なんだよねこれ…
一応>>247のアセンブリ置いとくんで参考になりそうな部分があれば幸い
 ▼ 252 クシー@アゴのカセキ 21/12/15 01:19:53 ID:xx4Ma6KA [2/2] NGネーム登録 NGID登録 wf 報告
・Cブロック 展開プログラム
$2FE0:
A004 add r0 =$2FF4
C80E ldmia [r0]! r1-r3
6011 str r1 [r2]
22E0 movs r2 0xE0
701A strb r2 [r3]
3901 subs r1 0x01
2210 movs r2 0x10
DF0B swi 0x0B
B013 add r13(sp) 0x4C
BDF0 pop r4-r7,r15
$2FF4:02293001
$2FF8:020F90A0
$2FFC:02060BB5

・Dブロック 簡易メモリエディタ
$3000:
A005 add r0 =$3018
C80E ldmia [r0]! r1-r3
6809 ldr r1 [r1]
5889 ldr r1 [r1+r2]
2B80 cmp r3 0x80
D001 beq $3010
6001 str r1 [r0]
4770 bx r14(lr)
$3010:
6803 ldr r3 [r0]
C302 stmia [r3]! r1
6003 str r3 [r0]
4770 bx r14(lr)
$3018:02108818
$301C:00112F00
$3020:分岐条件(00/80)
$3024:書き込みアドレスポインタ
 ▼ 253 ララッパ@あおのはなびら 21/12/15 01:46:16 ID:lYEI25pQ NGネーム登録 NGID登録 報告
>>249
今のところ英語版・日本語後期版(なぞのばしょでメニューが開けない)でできる任意コード実行のセットアップは
@オルトリタイア(Alt-retire)
Aレッジキャンセルで無理やりなぞのばしょでメニューを開きリタイアトリック
(※レッジキャンセル:某動画で見られる、自転車に乗りながらジャンプ中の特定サブピクセルにメニューを開くことでx座標をずらすグリッチ)
の2つじゃないかな

Aはおそらく人間向きじゃない。TASでもまともにできるかどうか。
@は人間向きだが、今の所情報が少なすぎるから海外勢に英語版のセットアップ公開してもらって更にそれを日本語版用に修正する作業が必要そう。
将来的にはオルトリタイアでのセットアップも確立されるかもしれないけど、いつになるか分からないので
今すぐやりたいなら日本語初期版ROMを探そう

 ▼ 254 ムナイト@コインケース 21/12/16 00:39:22 ID:lkQQdm/M NGネーム登録 NGID登録 wf 報告
金銀の任意コードぐらいしか弄ったことないけど
エメラルドの任意コードってやるの簡単だったりする?
 ▼ 255 イクン@ふたのカセキ 21/12/16 10:15:10 ID:CCCETjNY NGネーム登録 NGID登録 wf 報告
>>250
よくよく考えたらこれ一度展開すれば以降はASEが不要になる(扱う数字の都合上、電卓リミッター解除も不要になる)からパルパークに帰還してからのマーキングACEが出来るようになるのか、確かに便利だ
てことで本腰入れて再調査してみた
結果、>>247に少し手を加えれば実現出来た

・Bブロック
06 E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04 A0 0E C8 11 60 E0 22 1A 70 01 39 18 22 0B DF
・Cブロック
13 B0 F0 BD 01 30 29 02 A0 90 0F 02 B5 0B 06 02
01 A3 37 CB 01 60 04 E0 38 7E 25 02 3B F0 EA F8
・Dブロック
03 A3 05 A0 0E C8 09 68 89 58 9F 46 01 60 70 47
03 68 02 C3 03 60 70 47 18 88 10 02 00 2F 11 00

マーキングACEで46AF(mov r15(pc) r5)を実行すればBブロックから始まるタウンマップ関連書き換え&展開プログラムが実行され、アドレス0x02293000($3000)にエディタプログラムが展開される
エディタプログラム自体の構造は>>252のと大きく違いはないが、分岐条件の設定が難しかった(一応出来るには出来る)ので、分岐の手法をちょっと変えてみた
$3000からがタウンマップの参照先で、"."の参照先の書き換えとアドレスセットを行う
$3010は"."の参照先となり、比較命令cmpの代わりに挿入した相対アドレス取得addにより$3020の書き込み関数へとジャンプするようになっている

導入の際は、$3000からc0007でエディタプログラムを打ち込み、展開プログラムはエディタを利用して$2FD0から書き込み、最後にマーキングACEにてこれら0x60バイトのデータをツチニンのBブロックに対してコピペする(恐らくタマゴ化する)
 ▼ 256 ャンデラ@あまーいりんご 21/12/16 10:39:03 ID:p2K6anx. NGネーム登録 NGID登録 wf 報告
末尾0x16のセットアップがうまくいかない
殿堂入り60回目だったのがダメなのか末尾0x16のニックネームが間違っているのか...
あしあとリボン受け取り可能な状態だからなつき度はMAXだし「メイン」「出会い」「統計」「わざ」「親など」は全部一致してるはずなんだけど...
 ▼ 257 ォクスライ@まるいおまもり 21/12/16 13:26:40 ID:L7ZAHYL6 [1/2] NGネーム登録 NGID登録 wf 報告
>>254
自分はエメラルドやる前まで任意コード実行について何の知識もなかったけど
エメラルドの任意コード実行環境を整えるのにそう苦労しなかったよ
特段難しい手順はないはず
 ▼ 258 ボツボ@けいけんアメL 21/12/16 14:13:17 ID:L7ZAHYL6 [2/2] NGネーム登録 NGID登録 wf 報告
スクリプトコード0148のバグ店について調査してみた(某動画のプレシャスボールのやつ)
https://www.craft.do/s/3XCQOrZqF5lIdO

ショップ番号0x97〜0xAFまでは存在を確認できた
アイテムの種類は0x111の火炎玉まであるみたい

まあ任意アイテム入手のコードが打てるようになったら要らなくなると思うが…
 ▼ 259 テッコツ@いじっぱりミント 21/12/16 15:08:17 ID:VQAUd1A6 NGネーム登録 NGID登録 wf 報告
>>256
とくに理由がないなら壁紙を使うセットアップに切り替えるといいと思う
一応聞いておくと、うまくいかないってのは具体的にどんな症状?
このページは検索エンジン向けの機能制限版の旧ページです。
下URLから閲覧下さい。
https://pokemonbbs.com/post/read.cgi?no=1507350
  ▲  |  全表示1000   | << 前100 | 次100 >> |  履歴   |   スレを履歴ページに追加  | 個人設定 |  ▲      
                  スレ一覧                  
荒らしや削除されたレスには反応しないでください。
書込エラーが毎回起きる方はこちらからID発行申請をお願いします。(リンク先は初回訪問云々ありますがこの部分は無視して下さい)

. 書き込み前に、利用規約を確認して下さい。
レス番のリンクをクリックで返信が出来ます。
その他にも色々な機能があるので詳しくは、掲示板の機能を確認して下さい。
荒らしや煽りはスルーして下さい。荒らしに反応している人も荒らし同様対処します。




面白いスレはネタ投稿お願いします!

(消えた画像の復旧依頼は、お問い合わせからお願いします。)
スレ名とURLをコピー(クリックした時点でコピーされます。)
新着レス▼