【3DS】 RAM改造・解析 part3
因みにCTRPFマニュアル更新版には 一通り実装されてる全てのコード命令とサーチ例書かれてたからそこだけでも読んだ方が良さそう bit演算まで書いてあるとは思わなかった デバッガ使えばクソ忌々しいポインタも行けるってこと? BootNTR SelectorのチートプラグインにてX+Lボタンでアイテム変更のチートがあって、BootNTR Selector単体では使用できるんですが、 CTRPFを導入するとX+Lボタンでアイテム変更のチートが出来なくなります。 取得経験値100にするといったコードは適用できるんですけど、何故かボタンで変更するチートは出来ません。 何故でしょうか?誰か分かる方教えて下さい ポインタなんぞCTRPFでもサーチ出来るんだよなぁ ポインタがどういう仕組みでどんな挙動を行ってるか知っていれば余裕で >>114 luma+3dsならばウォッチ使えない筈 citraなら行ける見たいだけど 両方使えるNTRDEXには劣るよねって話 後者はa9lh+9.2制限があるにせよブレークだけ使えても殆ど意味ないしね >>120 CTRPFでサーチできるポインターなんぞ単純なものだけだろ どういう意味での単純なのか 単体のポインターもポインターのポインターもポインターのポインターのポインターもサーチ可能だが?(当たり前) そもそもポインターに単純も複雑もない(ソースコード側の場合除く) >>123 確かに時間が無限にあれば君でも可能なんじゃない? 例えば、多重ポインターでオフセットが非常に大きい場合等、ポインター候補 なんていくらでもあるのにどうやって対処するの? >>123 ちなみに私ならデバッガから逆追いしてアドレス解決する そもそもポインターというかデータ領域の書換え自体ほどんど使わずに プログラムコードの方を修正するけどね >>120 ,>>121 の知ったかいきがり君は今日は休み? 教えてほしいことがあります。 BootNTR Selectorのチートプラグインにパッドコードが効かなくなります。BootNTR Selector単体では使用できるんですが、 CTRPFを導入すると、何故かボタンで変更するチートは出来ません。 何故でしょうか? ちなみにゲームはFEエコーズです。 >>129 やり直しのコメントに返信来てるんだよなぁ ボナの下僕から デバッガ使いの神々にお願いがあります。 今までは、GWでデータ変更をやってきたのですが、 世界樹Xの戦闘中HP等が変動アドレスで、その都度サーチ変更が つらくなってきたので、デバッガ導入いたしました。 IDAでアタッチしたのですが、出まわっているプラグラムコード変更、 (世界樹Xでは戦闘中TP0のような)が、全くわからず困っております。 簡単なチュートリアル等が、もし、ありましたら、お教えください。 英語でも構いません。ヒントをお教えください。 メモリダンプをIDAに突っ込んでも、サーチに引っかかったデータ部も、 コードとして読まれてしまい、手も足も出ません。 プラグラム領域(アドレス)の指定等ができればいいのですが、 ググリ方が足りないのか、NTRまたは、GWのダンプの どこがプログラム領域なのか、さっぱりです。 素人で申し訳ありません。うざければ、スルーでお願いいたします。 どっかにエルミナージュゴシックのプラグインねーですか?エルミナージュ2は見つけたんだけど... どなたか >>53 >>54 のファイアーエムブレム無双v1.50のチートコード(txt)を再アップして頂ける方、お願いします。 NTR Debugger用 HPとSPの管理が特殊だね あとは普通 お金9999999 Write(0x622DEC, (0x7F, 0x96, 0x98, 0x0), pid=0x2F) P5 主人公 HP&SP 999(次アドレス+ACh) Write(0x624108, (0xE7, 0x73, 0x3E), pid=0x2F) 力、魔、耐、速、運 99 Write(0x62410B, (0x63, 0x63, 0x63, 0x63, 0x63), pid=0x2F) >>134 ペルソナQ2 ニュー シネマ ラビリンス >>134 うちのNEW3DSLLだと金のアドレスが微妙に違った。 変動するのかな? お金9999999 write(0x620B3C, (0x7F, 0x96, 0x98, 0x0), pid=0x29) ymyn氏が公開してたな PQ2 v1.1 所持金最大 メッセージ高速表示 エンカウント時常に先制 エンカウント無し、A押しながら歩くと即エンカウント クリティカルHIT 消去された中断データロードできる 中断セーブ後タイトル画面に戻されない 消費SP0 戦闘終了後獲得経験値N倍 敵戦闘開始時残りHP1 戦闘中HP減らない >>137 コード追加 パーティゲージ満タン オタカラスポット無限採取 テキペディア全開 メンバー全員やる気状態 137,138のコードをplg化したので良かったら使ってください ttp://fast-uploader.com/file/7099205708123/ PASS:pq2 >>139 コードの内容を書いておきます [EXP]戦闘終了後獲得経験値N倍 ※2,5,10,100倍のどれかひとつをON [Instant Messages]メッセージ高速表示 [Max Money]所持金最大 [Inf HP]戦闘中HP減らない [Inf SP]消費SP0 [Critical Hit]クリティカル [Instant KO]敵戦闘開始時残りHP1 [Max Party Gauge]パーティゲージ満タン [All members morale is high]メンバー全員やる気状態 [Otakara Spot Infinite Mine]オタカラスポット無限採取 [Always Preemptive Encounter]エンカウント時常に先制 [No Encounter Hold A Instant Encounter]エンカウント無し、A押しながら歩くと即エンカウント ※イベントのエンカウントには効果有りません。 [Can load deleted suspend save data]消去された中断データロードできる ※タイトル(PRESS ANY BUTTONが表示されている)画面でコードをONにしてください [Dont return to title screen after suspend save]中断セーブ後タイトル画面に戻されない [Enepedia Complete]テキペディア全開 ※1度テキペディアを開く必要があります >>139 コードを追加しました [Enemys Always Drop]敵常にアイテム落とす(通常、レア、条件付)*合計8個までしか落としません。 [Walk about 3 times faster]高速移動(約3倍) [Fusion can inherit 6 skills]合体時スキルを6つまで継承可能 [Ignore FOE - Hold SELECT button and walk to disable]FOEを無視(SELECTボタン押しながら歩くと無効) [Walk Through Walls - SEL+A ON - SEL+B OFF]障害物無視(SELECT+AでON、SELECT+BでOFF) ttp://fast-uploader.com/file/7099324269319/ >>145 コードを2つ追加しました [Can Fusion Personas Higher Than WILD LV]ワイルドレベルよりも高いペルソナ合体可能 [Always BOOST Status]戦闘中常にBOOST!状態 ttp://fast-uploader.com/file/7099361598514/ >>146 コードを1つ追加し、目的別にコードを分けました [Free Change Risky Mode]難易度RISKYに自由に変更可能 *ダンジョンで難易度を変えることはできません。ダンジョンに行く前に難易度を変えてください。 ttp://fast-uploader.com/file/7099404811156/ >>147 コードを1つ追加しました [Shop Sell All Item Exclude Materials]ショップで素材以外の全アイテム販売される ttp://fast-uploader.com/file/7099435233671/ ver1.2だとつかえないとおもうぞ ymyn氏がGBAtempのほうに1.2のほう出してたから 自分でPLGに変換したほうがはやいとおもう 3gx(CTRPF,luma)でよくないか...? 未だにplg使ってるとか時代遅れにも程がある どなたか3DS版ドラゴンクエスト11のウマレースの レースでいつでもダッシュ レースで時間停止 馬の速度変更 のGateway用コードを教えてください 誰かエルミ2の最新NTRplugin再upお願いします! エルミ2はどっかのブログで再配布してたような エルミナージュゴシックのNTRplugin持ってる方いますか? ttps://thuploader.orz.hm/miniup/?mode=dl&id=4612 3DSエミュのcitraで上記cheat.plgに記載されたチートコードを使いたいです。 テキストファイルに変換できる方いますか? 0004000000091000 デビルサマナーソウルハッカーズ >>165 さん レスありがとう。3DSとソフトは持ってます。 ttps://thuploader.orz.hm/miniup/?mode=dl&id=4615 環境はnew3DS 導入cfwはgodmode9 v1.8.0 HBL v2.1.0 FBI v2.6.0 ntrはttps://github.com/Nanquitas/BootNTR/releases の奴を全部試しました。SD→plugin→0004000000091000→cheat.plg ゲーム中にY+Xボタン押すとメニューはでますがcheatの表示がないので選べない状態です。 >>167 3DSは2年位触ってないからよく覚えてないけど、起動時に一瞬、上画面が緑とかになったりすると有効になるんだっけ ちゃんと有効になっているのなら、内部でパッチバージョンまたはリージョンがサポート外だから表示しないようにしてるのかもね あとは、メニューを表示するボタンをY+Xボタン押下以外に設定しているか やったことないけど、コードON/OFFでメモリダンプして差分をコード化することはある程度出来ると思う 種類 :可/不可 PG書換 :可 メモリ書換(固定アドレス):可 メモリ書換(ポインタアドレス):ツールなどを使用してポインタを解決すれば可 メモリ書換(演算):plg内部でアドレスや値の演算をしている場合はほぼ不可 どのみち、コードのON/OFF出来る状態じゃないとplgからコード作成は不可能 >>168 さん レスありがとう。citraでgatewayコードを使う目標は達成できていませんが 3DSでチートを使うことはできるようになりました。 ゲーム実行中のNTR呼び出しはX+Y(初期設定) もしくはL+STARTです。 以下長文 NTRのチートpluginが使えなかった原因はLuma3DSのバージョンでした。 10.1からはプラグインではなく >現在サポートされているほとんどのCTRPF-ARコードタイプ >より多くのチートを一度にロードできます ということなので9.1にダウングレードしたところNTRのチートプラグインが 機能するようになりました。 new3DSでplugin形式のチートをしたい場合のまとめ。 New3DSのバージョンはsys 11.10.0-43j godmode9 v1.8.0 HBL v2.1.0 FBI v2.6.0 NTRはBootNTRSelector-FONZD-Banner.cia→導入後3.6を指定 Lumaアップグレードでチートできなくなった人用にLuma3DSの9.1貼っておきます。 ttps://thuploader.orz.hm/miniup/?mode=dl&id=4623 ダウングレードはDLしたファイルをboot.firmにリネームしてSDカードの ルートにある既存ファイルを上書きするだけです。 DQ11のヨッチ族のチートはどの場面で使うの? 金手指の使ってるけどわからん 解決しました ヨッチ族を見るのところでやってたけど迷宮でメンバー選ぶ時に変更するんですね 息子が上級生に妖怪ウォッチのキャラを無理矢理取られたと言われました 目撃者もいないので証拠も無く途方に暮れています 3DS内に証拠となる通信ログは残っているのでしょうか? もし分かる方がいらっしゃったらお教え下さい とびもりプラグ・追加 USAコードで使えそうなのだけ移行 村や名前に漢字入ったのいたら通信前にエラー(相手も) フリーズさせる(10秒押し続けると切断) *村や島に着く前に相手の情報みるために必需、 ただし相手も到着させる前に見ることも可能だから後ろめたいことあるやつは コピーデータ使ったほうがいい 地形エディットを村の外以外ではメニュを完全オフ化 5人DL後削除 http://whitecats.dip.jp/up/download/1568731766/attach/1568731766.3gx 3dsのサイガジェのセーブエディターvpnかませればいけるけど これから先、vpnかませてもいけなくなる可能性ってある? だれかASMサーチ、固定値サーチの仕方教えてくれや >>175 その前にASMサーチ、固定値サーチの意味教えてくれや >>176 普通に数値でサーチしたり、変動サーチするんじゃなくて、 https://w.atwiki.jp/ds_cheatdat/pages/17.html こんな感じのことをやりたい。 僕が解析してるゲームだと、壁貫通とか、スピードハックとかは普通のサーチじゃ作れないから ASMサーチ、固定値サーチとか言ってる時点で無理そうな気もするが 壁貫通とか、スピードハックとかは逆アセの中でも難しいんだよ 3DSはBP使えるのでまずは変動でMAXとかそういうの出来るようになってから やり方含めてそれすらできない様ではどのみち無理だから諦めろ それ以外ないでしょ 何のゲームかしらんけど壁貫通とか、スピードハックとかは俺なら座標にBP しかけて作成することが多い スピードハック:書込む直前で座標の増減分をN倍する 壁貫通:壁に当たって移動できない時は座標書込みが行われない筈なので書込 箇所から処理を遡った箇所にBPを仕掛けて書込箇所を飛ばす分岐処理を潰す こういった発想が自分で出来なきゃ、それ以外のことは無理だから諦めろ 逆アセ方法とかはどっか載ってるだろ、今はSwitchメインだから3DS なんて、もう覚えてないしな ちなみにSwitchでは現状BPというよりデバッガが使えない 上の例では座標の書込箇所からして逆アセリストから静的に見つけないと駄目 な上にARM64BITでさらに難易度高いぞ >>180 はぇ〜 ありがとうございます 解析頑張ってね! けんじいの3.0.6の3gx使えた人いる? なんかチートメニュー出せないんだけど ux.getuploader.com/242372913700/download/1021 ux.getuploader.com/242372913700/download/1019 👀 Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) Luma3DSの最新版でら10.1を使うなら、チートはどうすればいいのでしょうか? もしかして対応したNTRが出てる?(謎) 太鼓の達人で、曲を詰め込んだDLCを複数用意して、そのDLCを仮想的に選択するソフトがあったと思うのですが、ソフト名を忘れてしまいました。 ご存知の方、ソフト名を教えて頂けないでしょうか? >>180 質問なんだけど、IDApro以外だとできないってことはある?無料の32bitのIDApro探してるんだけど全然なくて… 代替ソフトみたいなモノはみつけたんだけど。それが3dsに接続できるかはわからない RAM解析において、3DS単体でベースアドレスの最も簡単な解析方法、立ち回りを紹介する。 知っている方もいると思うがこの方法は殆どの人が無視をしている方法だ。 @ 目的のRAM値(固定値・変動値)で適当にFFを埋め、ARM11の強制エラーを食らう(目的のRAM値フラグは覚えておくと良い)。 NTRSelectorの方は、上画面、Luma3ds\3gxの方は下画面表記。 A r0 ~ r8の汎用レジスタの間に、@のベースアドレスとなるアドレスがあるのでメモるか、写真を撮り保存するか。 B 再起動時、早速r0 ~ r8の汎用レジスタのアドレスを使い@のRAM値へ分岐しているベースアドレスを探す。 発見できたら、ベースアドレス - 目的のRAM値 で加減値(仮アドレス)を作りフラグを記入すれば完成だ。 慣れるまで意味不明かもしれないが、 3DS単体で最も簡単に、時間短縮な立ち回り。 3ds単体でもできるんだね ありがとう、参考にして頑張るわ >>193 いや、そんなのコード作成の役には立たないぞ >>193 人それぞれやり方はあるから一概に何も言えんし、この方法は、ベースアドレスの解析に手間がかかりたくない人向け。 俺的にはその方が楽で、まあ例とするならば... 8382ED0 (変動) 、この変動アドレス付近にベース的な分岐されているまぁ3byte程度の数値があるんだが、そこを適当にいじる。 そして、ARM11の強制エラーを引き起こす。 r0 ~ r8 に、8382A40(ベースアドレス (8382ED0 (変動)付近にあった3byte程度の数値) ) 、6328B4 (RAM固定値) に、8382A40 に分岐している元ベースアドレス、6328B4 -> 8382A40 -> 加減値 : 答え という順番だね。 とっても簡単、でもこの方法ばかりやっていると今までやってきたベースアドレスの見つけ方がトロくなる人がいるらしく、おすすめって意味ではないけどこの方法もあるよ!ってことで書いただけなんだよね。 でも本当に本気で解析において大切なのは、 根気力、モチベが大切だね。笑笑 * >>185 * ROM解析に必要なデバッグソフトはIDA Pro (自分はv7.0を愛用してる)。 * Citra も一応できるみたいだけど、俺はPCのスペック的に無理だからわからん。 * * ROM解析をしようとしても、RAMが把握できなければ意味がなく、ROM(Cortex-M3 - ARMv7)解析は難しいぞ。 * * RAMは基本的にフラグ解析がメインで、ROM解析は、アセンブリ言語-ARMの知識で自作ルーチンたて(プログラムを形成していく)、フラグを生み出していく。例えば簡単なASMでスピード変更を作るとするなら↓。 >>185 元のASM書き込み値 : 008324E8 VLDR s2, [ r1, #c4 ] を、空きアドレスに分岐( b または bl を使用)し、 VLDR s2, [ pc, #2 ] VSTR s2, [ r1, #c4 ] VLDR s2, [ r1, #c4 ] B _8324EC jmp; / BX LR (戻り値) 3F800000 = 浮動小数点数 >>185 こんな感じになる。 この時点で は?わかんね! ってなる人も多いと思うけど、RAMとROMの解析法はまったく違うということ。 ROMは、命令+条件、汎用レジスタを使い、メモリ、即値、シフト、分岐、MSP, PSP, SP, LR。 それら命令+条件により使い方が異なる、そして数値のみでプログラミング(機械語)するため余計に頭が凹む。 結局、その方法で壁貫通とか、スピードハックはどうやるんですかね… 具体的に壁貫通の手順を教えて >>200 ↑に具体例があるでしょ これだけ説明してくれてるんだから少しは考えようよ もしかしてあなた飛び森界隅orアイステ界隅の人?当該する人がいるんだけどさ いちいちチート公開して自己満足感、優越感に浸ってる人でしょ? >>196 こんなに細かくありがとう。頑張る 自分のpc32bitだからIDAproのfree版使えないのが残念だけど…(´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`) >>200 障害物無視に関しても、IDAProで座標x,y,zのどれかに、ポイントかける(BP = ブレークポイントではない方)。 それで座標のROMアドレスが大量に出るので、それらのアドレスの中から座標の判定を示すものを探す(CTRPFで)。 後はCTRPF作業で、分岐命令値を適当に探す(といってもどれがどのチートかどこのレジスタを使われているかなどわからないと自作ルーチンが作れないので何のチートか確かめたり)、 分岐条件を変えたり潰していく、例えば beq なら、b/bne, bneなら、b/beq, bneなら、b/beq/blt/bgt ということ。場合によっては、 mov r0, r0の場合も。 はぁ、ええと、あなたがDoとかいうage厨と同一人物か知らないけど luma3DSでしか使えない”データ書換え”の一手法を示したところで 壁貫通とかどうやってやるのって質問なんだけど、その意味すらわからなかったか… >>203 うーん、正直書き方が悪いのか自分独自の単語を使ってるのか いまいち内容がわかりづらい 使い方は自分らで考えてね。 それか海外の人の動画を参考にするか。 IDAの情報は日本にはあまり広まってないと思うから調べたり、慣れたりするの大変かもだけど。 自己紹介しておこうかな。 自分はIDAを知る前ならCTRPFでRAMからROMへ想像、知識で逆アセンブラしてた人間で、色々な構造を考え、組み立てたり、海外の人のASMコードを参考にさせてもらったりとやってきて、 IDAを知り、逆アセンブラの簡単さに嫉妬してる!w、こんなに簡単にできていいのか!的なw まあ、逆アセンブラだけやって後は全てCTRPF作業だけども。 それじゃ!皆さん新たな解析を、そして良いお年を! >>210 自己紹介乙 >>障害物無視に関しても、IDAProで座標x,y,zのどれかに、ポイントかける(BP = ブレークポイントではない方)。 >>それで座標のROMアドレスが大量に出るので、それらのアドレスの中から座標の判定を示すものを探す(CTRPFで)。 正直、本当にわかってる? BPじゃなくて、正確にはWPと思うが、座標のROMアドレスが大量に出るとかマジで言ってるの? 言ってる意味が全く分からんって言ってるんだがちゃんと説明できる? >>211 WPって言うのか^_^ 説明下手でごめんね! でもまあわからないなら自分なりに色々研究してみるしか方法なくね?w 解析方法って人それぞれだから、どれがあなたに合うかなんてこちらは正確なアドバイスができないんだよなぁ^_^; 正確なアドバイスを一つ言うとするなら、 自分で色々研究してみ!って言えるだけかな! 頑張ってね! うん? 自分の方法は確立してて、ちゃんと上で記載してあるよ で、あなたの記載した方法の意味が不明なの? 後学のために本当にわかっているのなら参考にしたいのでちゃんと意味がわかるように 記載してほしいって言っているのだけど、おわかり? わからないなら、わからないなりにもう少しちゃんと記載しなければ記載した意味すらないよ ただ、このスレ的にIDA Proをアップロードした勇気だけは認めるわ! >>213 自分はほぼ独学だからね。 IDAも海外の人の説明や、動画を参考にしてるし、それで何回か挫折したし。 アセンブリ言語とかもわざわざ教本買って、自分なりの解釈で「こういう意味なんだ!」って理解してきた側だから、皆さんから見れば自分の説明は正確な説明ではないと思うことは合ってる。 それでも聞いてくれるだけでありがとうと思ってるし、IDAやアセンブリに関して正確な説明ができなくてごめんね!とも思ってるよ!! 独学で自分なりの解釈だから、みんなから見て理解できないのは普通だからその面に関してはお詫び申す! IDA関連 https://youtu.be/wnOfz_rJe8I と https://youtu.be/u8yc4dyc_Tg 自分は英語無知識だから真似てやってみたら出来たって感じ!IDAは逆アセンブラしかできないただの凡人だけど。 良かったら参考にしてね! >>214 freeだったら、勝手に配布して良いと思ってるの? 配布自由なのもあるけどね チート自体がグレーなので良し悪しを議論するのは止めよう >>215 詫びる必要は全くない、強いて言えばこの過疎スレageる必要あるか? ただ、本当に正しいことを言っているのなら、ちゃんと解るように書いてほしい でなければ意味がない もう良いけど、実際に壁貫通を解析したゲームに関して、具体的なアドレスと ARMコードを交えて出来れば、解り易かったかもね read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる