X



PSVita チート解析スレ Part005【vitacheat】

■ このスレッドは過去ログ倉庫に格納されています
0762名無しさん@お腹いっぱい。
垢版 |
2020/09/30(水) 01:18:09.33ID:c8m+Bz9p
>>761
すみません。
ちょっと追加がありまして
何項目か追加したら上げなおそう思いましたので。
https://14.gigafile.nu/1007-d1d4147933c6721dd3c9b13465db6ffc3
外国籍解除のコードを作成したいのですがどなたか
作成のヒントをお願いします
自分のスキルでは上記の物くらいしか出来ませんでしたm(__)m
0765名無しさん@お腹いっぱい。
垢版 |
2020/09/30(水) 07:59:28.97ID:NCY/xJs9
759さん
素晴らしいです。
大変申し訳ございませんが
もう一度最終的には、競走馬、幼駒、繁殖牝馬、種牡馬の能力と
競走馬、幼駒、繁殖牝馬、種牡馬、馬主、牧場、騎手、調教師の固有情報を
外部ファイルで指定して編集出来るようなところまで作りました
を作り
アップしていただけませんかm(__)m
0766名無しさん@お腹いっぱい。
垢版 |
2020/09/30(水) 17:40:11.60ID:XbO2AHcw
>>765
時間掛けて作ったのでドヤってしまったことについて反省していますが、この
手のツールは公開はしません
理由はメーカーがあれなのと、毛色などDLCまで出せてしまうことです
また、いくら自己責任とはいえ、何か問題が発生すると嫌だからです
例えば、能力のスピードの最低値を弄り0にして、設定してしまうとおらく後々
問題が発生すると思います(スピードは能力IDの新規採番時にデータの有無と
しても使用されます)

公開したのは、対象が繁殖牝馬のみで項目も上限下限も弄れず、編集回数制限
まで設けてあるので上記問題について、まず大丈夫だろうと判断したからです

自分もプラグイン作成もC言語も2回目のド素人ですが、なんとか作成できて
いますが、それでもプラグイン作成より>>759で上げたような解析の方がより
時間が掛かります
興味があるなら幼駒の売買額辺りを下図の幼駒売買額変更イメージを参考にし、
まずvitacheatで手動で弄る流れを掴んでから、プラグインの作成にトライし
てみたら良いと思います

https://d.kuku.lu/e773f7993c

それが面倒ならPC版で最新のWP9をもっと色々細かく弄れるツールも公開され
ているので、そちらを検討してみるのも良いかと思います
0770名無しさん@お腹いっぱい。
垢版 |
2020/09/30(水) 21:20:44.16ID:XbO2AHcw
>>769
>>769
普通に考えたらそうというかデータサーチしようにしても通常プレイでデバッグ
フラグが立つことなんてないのでサーチしようがない
デバッグモードの残骸は結構色々なゲーム(パワプロの栄冠ナインでセーブして
続行とか)にも残されているけど、昔のゲームならともかく今のゲームは入り口
が消されているので、どうしようもなかったりする
0771名無しさん@お腹いっぱい。
垢版 |
2020/09/30(水) 23:53:18.67ID:uR0NywCp
所有馬の毛色を個々に変更する方法を知りたいです
能力付近にあるのは分かってるんですが…
 
疲労や調子、育成度にメモ等の情報はsearchしてbronzememory眺めて分かったんですけど…
0772名無しさん@お腹いっぱい。
垢版 |
2020/10/01(木) 00:19:59.09ID:oRqIeX4l
>>771
>>758の能力データの中にある
アドレスはスピードからみて+0x5で5bit、幸い同バイト内に他に影響与えそうな
データはないので、そこを適当に弄ってください
設定値については、DLCも含まれていると思うので記載しません
持ってないなら、DLCの値には変更しないでね
0775名無しさん@お腹いっぱい。
垢版 |
2020/10/01(木) 15:11:43.51ID:V4SrEm0H
$A200 81012345 82000123
Address2が変動してしまうのですがどうしたらいいのでしょうか?
0776名無しさん@お腹いっぱい。
垢版 |
2020/10/01(木) 16:29:48.83ID:jkiHiohL
>>775
本当に$Aコード作れるなら、影響するのは>>7で説明しているセグメントの読込
アドレスが変動する場合のみ

エスパーすると$Aコード作れるなら、それくらい判ってると思うので、$A以外
のコードだとすると、セグメントの読込アドレスの変動かポインタアドレス、
またはその両方が絡んでいると思われる

Address2が81012345のことなら、実際に作成したコードのこの値が一概には言
えないけど、seg1の終了アドレスより大きければポインタを使っている可能性
が高い(補足:seg1の範囲内であってもポインタは普通に使われる)
あと、BROWSE MEMORYを選択して、L3上で画面上部に表示される
seg0:0x81aaaaaa - 0x8xxxxxxx seg1:0x81bbbbbb - 0x8xxxxxxx
のseg0:0x81aaaaaaがseg0:0x81000000以外なら$Bコードも必要になるので、>>7
を読む

確率は低いだろうけど、特に晒せない理由がないなら実際のタイトルとコード
を記載すれば、誰かわかるかもしれない
0780名無しさん@お腹いっぱい。
垢版 |
2020/10/02(金) 01:56:55.52ID:H4v9jO4f
>>777
一般的にはidaやghidraやフリーのリバースエンジニアリングツールが使われていると
思うけど、自分はサクラエディタ
やり方は日本のサイトでは見かけたことないけど、海外では探せば結構あると思うので
自分で見つけてください
デバッグが出来ないので、Vitaから始めるのは少し難しいかもしれないけど、所持金や
経験値の最大値なんかは、結構値がコードの中に直接記載(即値)されていて、その値
と比較して補正をかけていることが多い
アイテムの個数なども99とかたまに見かけるし、たしかパワプロの経験点も999の即値
で上限チェックしてたかな、ウイポも基本的に全部即値で最大値チェックしてたかな
対象ゲームによっては即値の最大値チェックを潰すだけで結構色々なコードが作れる
可能性はある
0781777
垢版 |
2020/10/02(金) 03:58:38.31ID:OrEAAYEq
>>780
親切にありがとうございます。
使ってみて、自分に合ったものを探してみます
0784名無しさん@お腹いっぱい。
垢版 |
2020/10/02(金) 13:02:22.13ID:Rq/8pu97
Vita3Kは最近全く確認してないけど、少しは動くようなタイトル増えたんだろうか
とりえあえず動いてさえくれれば、各OSのデバッガでどうやって処理してるのか
見るだけでも役に立つと思うんだけど
モジュールの更新日だけ見ると、いつも新しいから積極的に作成してるのかとも
思ったけど、もしかしたら自動コンパイル環境なのかな
0786名無しさん@お腹いっぱい。
垢版 |
2020/10/02(金) 18:08:09.33ID:Rq/8pu97
久々にVita3K見てきたけど、
Playable (47.21%)
すごい進歩してるのかも、明日試してみようかな

>ソースからはそういったのは確認できないの
オープンソースなんだっけ?
版管理されていると思うので、そのバージョンが変わってれば、何かしら
ソースに変更が加えられているっていうことになると思う

そうでなくても、Vita3Kのどこかにバージョン表記はされていると思うから、
モジュールの更新日だけ新しくなっていて、バージョンが変わっていなけれ
ば、ソースに変更がなくてもコンパイルを行っている環境だと思う

何か進展あるのかな
0787名無しさん@お腹いっぱい。
垢版 |
2020/10/02(金) 21:43:25.42ID:CwpH4Hj/
>>776
ご丁寧に説明ありがとうございます。
多分Address2じゃなかったかもです。
$A200 81012345 82000123
一番左の部分(82000123)が変動してしまうのですがどうしたらいいのでしょうか?
0788名無しさん@お腹いっぱい。
垢版 |
2020/10/02(金) 22:48:36.72ID:lCDz9CpS
>>787
>>775の時も思ったんだけど外国の方かな?
質問の意図がわからないんだけど、82000123が変動するのは当たり前のことだと思う
国外タイトルかもしれないけど、もう少し言葉を尽くしてくれないとわからない
一応、エスパーしとくと、
$0200 81012345 82000123
で、アドレス81012345にある値を82000123で固定化するコードを作成したんだけど、
全然反映されないずに値が変動してしまうのはなぜかってこと?
だとしたら、それは表示用なりで使用され、常にゲーム側で書き換えれている値を
格納するためのアドレスで実態は別アドレスに値を格納しており(同じ数字かもし
れないし、floatやdoubleで格納しているかも)なので、そちらを書き換えなければ
ならない

>>786
間違えてhomebrewの方見てた
Vitaゲーは、Playable (1.23%)だった、残念
0789名無しさん@お腹いっぱい。
垢版 |
2020/10/04(日) 18:43:51.79ID:F7Ij2ZXu
サカつく プロサッカークラブをつくろう!
# PCSG00198
Ver1.03
https://27.gigafile.nu/1011-c8927d1a6c87fc191a9a1e985527f10d8
もう誰もやってなくて需要無いかもですが
今日は時間があったので数項目更新
色々とスレを見ていて何だかポインタがサーチやアドレス固定等と
自分にはハードルが高すぎる・・・
その様なコードを使わないと練習効果n倍や外国籍解除等のコードは出来ないのでしょうね。
このゲームは確かオランダとドイツリーグは外国籍は無くてそこら辺のフラグ管理から見ればいいのでしょうかね
0790名無しさん@お腹いっぱい。
垢版 |
2020/10/04(日) 22:04:46.46ID:tWOMTbR6
>>789
練習効果n倍というのは、n倍という値をデータとしてアドレスに格納して
いない限り無理
例えば、練習効果がアップするようなアイテムがあってそれを使用すると、
倍率が変化するなどの場合なら、そのアドレスを変動サーチで特定し、書き
換えれば可能
ARM書換えなら練習効果を書き込むタイミングで加算値をn倍すれば可能

もう持ってないから外国籍解除っていうのがわからないんだけど、外国人枠
みたいな人数制限があってそれを解除したいみたいな感じかな
もし、そうなら対象者のデータの中に国籍コードのようなデータが含まれて
いて、それを書き換えれば良いかもしれないけど他にも影響があるかも
ARM書換えなら国籍コードを参照し、人数チェックを行っている処理のみを
潰せば影響範囲を少なく出来る(あくまでも国籍コードのようなものがある
前提)

一応、昔持ってた証としてその時に作ったコードを1つだけ晒しておく
効かなくてもどうしようも出来ないけど・・・

_V0 若手必ず発見できる
$A100 813A04E8 0000BF00
0791名無しさん@お腹いっぱい。
垢版 |
2020/10/05(月) 11:21:30.79ID:oOvAEYX0
ご返信、アドバイス大変ありがとうございます。
上記のコードはアドレス813A04E8が
若手捜索フラグで
データ部の0000BF00が発見したという
プログラム上での命令アドレスてきなものでしょうか?
自分の拙い解釈では単純に
アドレス813A04E8が捜索フラグで
データ部は例えば00000000未発見00000001で発見と言う解釈でした。
このように命令のプログラムのアドレスはどの様に特定してるのでしょうか?それとも根本的に私が勘違いをしてるのでしょうか?
ARM書換えなら国籍コードを参照し、人数チェックを行っている処理のみを
潰す。
これも同じ様な理屈だと思いますが
どう特定してよいものかさっぱりです
(T_T)
0792名無しさん@お腹いっぱい。
垢版 |
2020/10/05(月) 12:02:53.68ID:oOvAEYX0
私の情けないサーチ法を簡単に記しますと。
例えば不満なしの様な画面上では確認出来ない数値の時は単純に不満ありは
データ00000001 不満無しはデータ00000001 と思い込んでまず
1不満のたまった状態の選手を数人用意
2その状態で00000001でサーチ
3面談で不満を解消した直後00000000でサーチ
4ヒット数700〜800くらい有る。
5工程1〜3をデータロードを繰り返し
100ヶ所くらいまで絞り込むその100ヶ所をを00000001の部分を00000000書き換えて画面確認を繰り返して
不満の状態を見るその時に全箇所書き換えても不満に変化がない時にはサーチ開始データを00000002に変更。
結局これを延々とデータ部分00000040
まで行いようやく見つける事が出来た次第です。さらにもう一人の不満を溜まった状態の選手まで+##hと特定
因みに5時間くらい掛かりました。
上級者、馴れたかたなら
元々、不満を持つと言うプログラムのアドレスを特定してパパッとそこのアドレスに飛ばない様になどと作ってしうのでしょうか長々とくだらない書き込み失礼致しましたm(__)m
0793名無しさん@お腹いっぱい。
垢版 |
2020/10/05(月) 12:47:44.85ID:QY3HQZMQ
>>790
横からスマン
ARM書き換えって度々出るけど、知識0のミジンコにはどのツールを使用してどうしたらいいのかさっぱりわからん
>>5みたいな、初歩的な書き換えでいいから解説してる海外サイトとか動画あれば教えてほしい
0794名無しさん@お腹いっぱい。
垢版 |
2020/10/05(月) 18:26:52.23ID:9gWBScww
>>791
若手必ず発見できるは、例えば、乱数<若手発掘能力が発掘条件として、あ
ったとして、若手発掘を行った際にプログラムで0〜99までの乱数を取得し、
スカウトの若手発掘能力と比較を行って成否を判定しているとします
若手発掘能力30のスカウトAと80のスカウトBで、結果乱数50を得たとすると、
プログラムではAは失敗へ分岐(ジャンプ)し、Bは成功に分岐します
NOP(00BF)は、何もしない命令で、上記の失敗へ分岐するジャンプ命令を何
もしない命令で書き換える(潰す)ことにより、必ず成功するという結果が
得られる

まず過去に投稿されたコードを見ると、選手の基本的な情報を管理している
データサイズが0x218バイトだとわかる
その中に国籍(出身地?)に関するデータが存在しないか適当に書き替えて
調べる
もし、存在すれば、対象者の国籍(出身地?)を所属チームのそれに書き換
えてやれば帰化あるいは国籍取得できるんじゃないって話
ARM書換えでやるなら、上記で見つけたオフセットとサイズを元にLDR命令を
その所属チームの(出身地?)の値に書き換えるコードを作成し、その中の
どれが人数制限に影響しているか特定する
または、その人数制限メッセージ表示について出力方法がわかっているなら、
そのメッセージを表示している箇所から遡って調べ、メッセージを表示しな
いように分岐させる

>>792
持ってないので見当違いかもしれないが、自分なら格納サイズも変動する値
も不明な点と、選手データサイズを考慮に入れ検索範囲を0x218バイトに絞り、
対象の項目を変動させる行動の前後で32bitの変動サーチをかけるかな

>>793
あるとは思うけど書き換えの解説してるサイトや動画は自分も見たことない
VitaもSwitchも3DSも復号手順が違うだけで、あとは基本同じ
0795名無しさん@お腹いっぱい。
垢版 |
2020/10/05(月) 21:02:00.96ID:XqiEJxyW
>>794
色々とアドバイス等ありがとうございます。
上記の若手コード確かに効きました。
自分のスキルではまだARM書換えやLDR命令等は難しく理解できないので
選手情報の国籍コードを調べて所属チームの値に書き換え
を試してみたいと思います。
それでも人数チェックの所でつまずきそうですが
まずはやってみます
0796名無しさん@お腹いっぱい。
垢版 |
2020/10/06(火) 00:07:06.67ID:NaFTk43J
>>795
所属チームの値っていうのは書き方がおかしかった
例えばJリーグならJリーグで外国人枠として捉えられない値

>それでも人数チェックの所でつまずきそう
よくわからんけど、国籍コードがあったとして、自チームの外国人の国籍を
自国のものに変えるのであれば外国人として捉えられないので人数チェック
には掛からないと思うけど

後、値を書き換えるなら4バイトで見て0x81以降のアドレスと思われる値を
変更してしまうとフリーズしたり落ちたりするので、それはスルーすること
そうでなくても、ゲームによっては、範囲外の値にしただけで落ちるケース
もあるので結構根気がいるかも
…そもそも、国籍コードのようなものがあるとも限らないので、どうしても
やりたい訳じゃないなら、止めた方が良い
自分なら、一時的な$4コード使って0x10バイトずつくらい適当に値を書き換
えて調べ、選手のプロフィールかなんかを見てを繰返し落ちたら諦める
0797名無しさん@お腹いっぱい。
垢版 |
2020/10/06(火) 19:04:09.75ID:f6r/jmFm
トトリのアトリエPlus のコードお願いします
0798名無しさん@お腹いっぱい。
垢版 |
2020/10/06(火) 20:20:38.26ID:BYG1C8pu
>>796
とても参考になりました。
色々と試行錯誤してみます
後は大体やりつくしたのでいいところで諦めます
0801名無しさん@お腹いっぱい。
垢版 |
2020/10/10(土) 01:42:47.57ID:wkkduI0z
>>800
おぉ、ありがとうございます
前々から待ってるので待ちます
バンナムのゲームは改造が難しいので助かります
力と速さ、それとアイテムドロップ率を上げるコードをとりあえずお願い
0802名無しさん@お腹いっぱい。
垢版 |
2020/10/10(土) 12:23:21.34ID:8ylJOIqR
力だとかその他ステータス系サーチして直ぐに見つかった記憶あるんだがな……

自分で何で探さないんだかなぁ
自分で何もしない人に優しい人は居ないような気がするんだが……。
0803名無しさん@お腹いっぱい。
垢版 |
2020/10/10(土) 13:25:59.27ID:wQKfw11l
ごめんなさい、力なんてステータスないです
なぜ力なんて書いたかはお察しください
移動速度とアイテムドロップ率についてのコードお願いします
0804名無しさん@お腹いっぱい。
垢版 |
2020/10/10(土) 13:58:15.72ID:8ylJOIqR
言ってる意味は察してるが
揚げ足取ろうとする前に自分が探せよ
最初から 力 何て書かなきゃいいのに
こっちが合わせて書けば
そんなの無いです\(^o^)/
とか言われても知らねえよ。

一個でも良いから何かサーチして此処まで頑張りましたが………
ならまだ分かるが

あの〜コード下さい!
はさすがにクレクレ過ぎるだろ
0805名無しさん@お腹いっぱい。
垢版 |
2020/10/10(土) 14:02:25.48ID:8ylJOIqR
strぐらい直ぐにサーチ出来たんだがなぁ
何で最初からstr(力)とか補足して書かないのかわ
まあいいや
一生そうやって待ってろよ。
クレクレ君

まガンバレ
0808名無しさん@お腹いっぱい。
垢版 |
2020/10/10(土) 14:16:52.30ID:wQKfw11l
8ylJOIqR
あのー、力がどうとかで揚げ足取るとか、もの凄く勘違いされてますよ
>>801を単純に縦読みしてください
最初から希望しているのは移動速度とドロップ率です
とりえあず、3年待ちますねw
0810名無しさん@お腹いっぱい。
垢版 |
2020/10/11(日) 00:56:05.21ID:sxvRnsov
>>803
かなり昔に作ったやつだけど、ヒントだけ、まーやらんだろうけど

PCSG00536 ソードアート・オンライン −ロスト・ソング− ver1.07

・移動速度変更
敵味方共通のキャラデータの中に移動速度係数(float)が含まれているので、
それを読み取っているプログラム箇所で敵味方の切り分け(キャラベース
+0x18を2byte読込で0x4843なら味方、0x4F4Dなら敵)を行い味方なら、2.0
など適当な値を掛けてやれば良い

・アイテムドロップ率
モンスター毎に所持金、通常ドロップ、レアドロップのマップデータが存在
しており、ドロップ手順方法はすべて同じ
例えば3種類の所持金が設定されているとして、まず乱数を取得し、その乱数
からバフやらなんやら色々な計算をした値を減算し、0未満になった際の金額
を取得できる(3回以内に0未満にならない場合は取得できない)
なので、その乱数取得時に関数に渡す引数の最大値の方を適当な値で除算す
れば良い感じのドロップ率になる(引数の最小値は0で、0を返すようにすると
必ずドロップはするが、直ぐにアイテム欄がいっぱいになる)
ちなみにすぐ近くで鑑定済みフラグ箇所に未鑑定を設定しているので、そこで
鑑定済みを設定しておけば拾い識別状態になるし、個数も最大値チェックを
行っているので、個数を最大にもできる

PCSG00294 ソードアート・オンライン −ホロウ・フラグメント− ver1.07

・移動速度変更
敵味方共通のキャラデータの中に移動速度係数(2byte)が含まれているので、
それを読み取っているプログラム箇所で敵味方の切り分け(キャラベース
+0x1F6を2byte読込で0x5555なら味方、それ以外なら敵)を行い味方なら、
0xC8など適当な値を返すようにしてやれば良い

・アイテムドロップ率
ドロップ判定時にもろもろの計算値<乱数[0〜99]の条件を満たしていれば
ドロップするので、直下の判定ジャンプを潰せば必ずドロップする

もう一タイトルはやれなかったのでわからない
0817名無しさん@お腹いっぱい。
垢版 |
2020/10/20(火) 21:25:05.01ID:/DJg10+4
5分で解決したみたいだけど、一応$Bは、$C以外の全てのコードに有効
ぶっちゃけ、セグメントの開始アドレスが変動しようがしまいが対応できるので
常に使って全く問題ない
偶に見かける$B使って動かなくなったというケースは、作成したコードが不完全
でゲーム処理内でのポインタ等のアドレス変動に対応出来ていないだけ
(セグメントの開始位置は変動しているけど、アドレスがその動きに合わせて相
対的な変動をせず、だいたいいつも同じアドレスになるケースなど)
0818名無しさん@お腹いっぱい。
垢版 |
2020/10/21(水) 11:00:33.59ID:KTxozpK8
ソフィーのアトリエ Ver.1.05

コンテナ内のアイテム品質All999
_V0 Container Item quality All 999
$B200 00000001 00000000
$4200 000FCC38 4479C000
$0BB8 00000038 00000000
※とりあえず3000まで
ちゃんと確認したわけではないので自己責任で

ソフィー1つ目の装備アイテム変更
_V0 Equip Item Status
$B200 00000001 00000000
$0100 000EE0D2 0000XXXX #<--種類
$0200 000EE0D4 XXXXXXXX #<--品質(float)
$0100 000EE0D8 0000FFFF #<--特性1
$0100 000EE0DA 0000FFFF #<--特性2
$0100 000EE0DC 0000FFFF #<--特性3
$0100 000EE0DE 0000FFFF #<--効果1
$0100 000EE0F0 0000FFFF #<--効果2
$0100 000EE0F2 0000FFFF #<--効果3
$0100 000EE0F4 0000FFFF #<--効果4
$0100 000EE0F6 0000XXXX #<--カテゴリ値
$0000 000EE0F9 000000XX #<--サイズ
$0100 000EE0FA 0000XXXX #<--回数(現在値)
$0100 000EE0FC 0000XXXX #<--回数(最大値)

特性、効果リスト
https://25.gigafile.nu/1028-d204ca97c6b457adc5a5525dddaac13c3

面倒なのでアイテムIDは調べてません
0819名無しさん@お腹いっぱい。
垢版 |
2020/10/21(水) 11:09:32.30ID:KTxozpK8
コードにミスが有りました、正しくはこちらです
_V0 Equip Item Status
$B200 00000001 00000000
$0100 000EE0D2 0000XXXX #<--種類
$0200 000EE0D4 XXXXXXXX #<--品質(float)
$0100 000EE0D8 0000FFFF #<--特性1
$0100 000EE0DA 0000FFFF #<--特性2
$0100 000EE0DC 0000FFFF #<--特性3
$0100 000EE0DE 0000FFFF #<--効果1
$0100 000EE0E0 0000FFFF #<--効果2
$0100 000EE0E2 0000FFFF #<--効果3
$0100 000EE0E4 0000FFFF #<--効果4
$0100 000EE0E6 0000XXXX #<--カテゴリ値
$0000 000EE0E9 000000XX #<--サイズ
$0100 000EE0EA 0000XXXX #<--回数(現在値)
$0100 000EE0EC 0000XXXX #<--回数(最大値)
0821名無しさん@お腹いっぱい。
垢版 |
2020/10/21(水) 20:21:55.04ID:U74pb9nX
>>818
良いね!
自分も復号データが有ったんで試しに特性を突き合わせてみたんだけど、以下の
名称のみ違ってた

スキル威力+10% スキル威力強化+10%
スキル威力+5% スキル威力強化+5%
スキル威力+7% スキル威力強化+7%
大きな回復量 大きな回復力
強烈な回復量 強烈な回復力
期待値大幅増 期待値大増幅
究極の回復量 究極の回復力

自分の復号データは、1.00のものなので、1.05までの間に名称が変わったのだと
思うけど、まさか700を超えるリストを手打ちしてないよね
手打ちで実質3箇所しか間違わないならそっちのがすごいけど

>>820
久々に見たけど、63タイトルだもあるのか
カバー率が気になって調べたんだけど、Vitaは発売したタイトルだけなら一応830も
あるみたい
3DSが666タイトルで、PSPが1456タイトルみたいなんで、さすがにPSPには及ばない
けど3DSには勝ってたんだ
0823名無しさん@お腹いっぱい。
垢版 |
2020/10/21(水) 23:25:07.33ID:U74pb9nX
>>822
マジで手打ちなの?すごいな

手順は、 まずpsvpfstoolsなどでVitaのPFSを復号する(これは全ゲーム共通)
上記で十分な場合もあるが、メーカーやゲームによっても独自にアーカイブ化
や暗号化などされているので、その場合はさらに展開や復号が必要になる
eboot.binなどの実行モジュールはまた別のやり方

アトリエシリーズは全部がそうかは忘れたけど、Falcom データアーカイブ 変換
ツールで展開できる
まだ、どうしても展開や復号できないゲームであっても、メモリ上には展開また
は復号されたデータが存在する可能性が高いのでvitacheatでダンプしても良い

展開したファイルに対し、UTF-8かSJISでgrep検索掛けてやれば見つかる
アトリエシリーズの特性ならSJISで、大きな回復量とかで検索掛ければ
item_potential.xmlって特性のリストが出てくる
0824名無しさん@お腹いっぱい。
垢版 |
2020/10/21(水) 23:29:45.39ID:KTxozpK8
>>823
情報ありがとうございます
手順等まで書いて頂きとても助かります
今後リストを作るときは活用させていただきます
0825名無しさん@お腹いっぱい。
垢版 |
2020/10/21(水) 23:31:43.12ID:U74pb9nX
効果リスト見たら、1400件超えてるやん
2100件以上も手打ちしたってこと
やろうとしてるところからして、本気ですごいと思った
0826名無しさん@お腹いっぱい。
垢版 |
2020/10/21(水) 23:50:20.53ID:KTxozpK8
>>825
大半が予備枠だったのと、効果リストに関しては予備枠が50刻みだったので
書き換え→確認の作業も思ってるよりかは楽だったと思います
とはいえ流石に教えてもらった方法を知った後にやろうとは思いませんが
0827名無しさん@お腹いっぱい。
垢版 |
2020/10/22(木) 21:19:08.07ID:Nkuv9HP/
>>796
その節は色々とお世話になりました
サカつくの外国籍解除出来ましたので
ようやくゲームを開始できます
ありがとうございました。m(__)m
0829名無しさん@お腹いっぱい。
垢版 |
2020/10/22(木) 22:09:47.77ID:RW/eEEZe
>>827
役に立ったかもわからんが、ようやくゲーム開始とか…とにかく良かったね

>>828
psvpfstoolsの用途がチート解析とは無縁なので微妙かな(どちらかというと
動画や音声の取得やMOD系がメインだと思ってる)
また、テンプレに追加したとして活用できる人があまり居なさそう
さらに、おそらく次あたりが最後のスレになりそうな感じだし
0830名無しさん@お腹いっぱい。
垢版 |
2020/10/23(金) 19:31:28.32ID:0YvGwK7K
あんまりこのスレとは関係しないけどVita3k使えばpfsの復号はもちろん、eboot.binの復号までやってくれるよ
それ用のpcツール使ったりfagdec使わなくても良いから楽かも
0832名無しさん@お腹いっぱい。
垢版 |
2020/10/23(金) 22:22:08.30ID:x8QQdnxx
PCSG00795 ルフランの地下迷宮の取得物二つ名のコントロールって出来ないものでしょう
理想としては必ず王者ナルで固定とか…
0837名無しさん@お腹いっぱい。
垢版 |
2020/10/25(日) 11:22:07.24ID:d3QkjRTW
>>834
Wikiをパクった手動での変換方法

IEEE 754 で表現するまでの過程
50.0を例にとると、

仮数の符号は、+
仮数の絶対値は、50.0
IEEE 754の基数は、2で固定(簡単のため、以下では省略)
指数は、0
であることから、まず次のように考える。

(-1)^0 × 50 × 2^0

仮数部は1未満でなければならないため、仮数の値50.0を(この例では右へ)シフトし正規化する。
基数は2、コンピュータの内部表現は2進法であるため、シフト量は1ビットである。さらに、
右シフトして1&#8260;2になったことを相殺するため、指数に1を加える(もし左シフトなら、指数から1を引く)。
値をシフトすることで表現範囲を広げ、丸め誤差を少なくなるようにしている。
この操作を正規化という。正規化は基数の±1乗を繰り返し求めればよい。

このままでは (-1)^0 × 1.5625 × 2^5 となり、仮数の絶対値は1未満ではないが、
仮数部は 仮数 - 1 と決められているため、次のようになる。

(-1)^0 × (1 + 0.5625) × 2^5

符号部は、0
仮数部は、0.5625
指数は、5

指数部は、指数に127をバイアスすることが決まっているため

(-1)^0 × (1 + 0.5625) × 2^(132 - 127)
符号部は、0
仮数部は、0.5625
指数部は、132

2進法では、

符号部(1ビット):+ → 0
仮数部(23ビット):0.5625 → 100 1000 0000 0000 0000 0000
指数部(8ビット):128 → 1000 0100

浮動小数点は、最上位ビットから符号部、指数部、仮数部の順に符号化するため

2進値:0 1000 0100 100 1000 0000 0000 0000 0000、16進値:42480000
0838名無しさん@お腹いっぱい。
垢版 |
2020/10/28(水) 00:42:26.86ID:XZqCVbZr
ガレリアの地下迷宮と魔女ノ旅団のコードお願いします
0840名無しさん@お腹いっぱい。
垢版 |
2020/10/28(水) 19:36:30.55ID:N2SFDXmS
そう言えばあれもう発売されてたのか
0845名無しさん@お腹いっぱい。
垢版 |
2020/11/03(火) 18:51:57.24ID:+O+Gz0R4
PCSG00202 ダンガンロンパ1・2 Reload ver1.01

ダンガンロンパ1

_V0 イベントギャラリー全開
$4000 8133A4D4 00000003
$0095 00000001 00000000

_V0 ムービーギャラリー全開
$4000 8133A56C 00000003
$001F 00000001 00000000

_V0 アートワークギャラリー全開
$4000 8133A58F 00000003
$0055 00000001 00000000

_V0 サウンドギャラリー全開
$4000 8133A5E8 00000003
$0025 00000001 00000000
0846名無しさん@お腹いっぱい。
垢版 |
2020/11/05(木) 19:00:10.74ID:1pXGwrPr
キルゾーン解析しているんだけど、運悪く何をどう検索しようが検索結果が0件になってしまうゲームだった
ダンプしてやるしかないと思うんだけど、一々ゲームを終了しないとPCへ転送し比較検索できなくて困る
昔のrinCheatみたいにゲーム中にFTP使えるプラグインってある?
0848名無しさん@お腹いっぱい。
垢版 |
2020/11/05(木) 19:59:55.42ID:1pXGwrPr
>>847
良いね!ありがとう
0850名無しさん@お腹いっぱい。
垢版 |
2020/11/08(日) 20:50:23.23ID:+7+rtivx
>>849
お疲れ様。
なんちゅうか、サカつくには興味ないけど、国旗を中心に細かく画像を貼り付ける熱意には感動した。
0852名無しさん@お腹いっぱい。
垢版 |
2020/11/09(月) 19:50:32.83ID:/zcznTLf
>>850
おーありがとうございます。
実はこの国旗は小5の娘がやってくれたものなんです。
何やら私がpsvitaとパソコンを交互に見ている光景に興味を持った様で
面白そうなどと言い遊び半分で楽しそうにやってました。
>>851
ありがとうございます。
獲得した選手を個別に書き換えてコードを作らなくてもいいかなーと思うようになって
いるとこです。
0853名無しさん@お腹いっぱい。
垢版 |
2020/11/09(月) 22:05:59.93ID:KaI0ih3A
>>852
動くかどうかも、動いたとしても何か問題あるかもわからんけど

_V0 外国籍選手枠をオーバー回避
$A100 81338080 0000BF00

ついでに

_V0 何度でも選手交代可能
$A200 813D3DBC 0000F04F
0854名無しさん@お腹いっぱい。
垢版 |
2020/11/09(月) 22:35:04.02ID:/zcznTLf
>>853
動作確認しました。
それにしてもあっさりと・・・
恐れ入りました
0855名無しさん@お腹いっぱい。
垢版 |
2020/11/14(土) 12:43:47.20ID:VLg53yBZ
ブランドルの魔法使いなんだけど、課金ガチャゲーだからか一部データが暗号化されてる
ただ変動サーチで簡単に検索できる上に暗号化方法もものすごく手抜き
Unity製だからかPOINTER先のADDRESSも変化せず、一度ADDRESSを見つけたらわざわざPOINTERコード作る必要もないし、う〜んってなる
0857名無しさん@お腹いっぱい。
垢版 |
2020/11/16(月) 12:42:17.14ID:iVVINqBO
853
81338080 0000BF00
外国籍選手枠をオーバー回
のアドレスはどの様に特定したのでしょうか?
もしよければ教えていただけますか
0858名無しさん@お腹いっぱい。
垢版 |
2020/11/16(月) 20:19:33.49ID:UsjpKOox
>>854
動確どうもです

>>857
一応、昔解析した時の復号済みの実行ファイルとメッセージが入っているファイル
だけ残っていたので、アップされたファイルを見て運良く出来た感じです
運90%くらいだけど、やり方としては選手IDタブを見ると、選手データのサイズは
0x3C、国籍IDは選手データの開始から+0x2でサイズは1byteとわかるので、まずは
逆アセリストを、ldrb.*#2]で検索する(数百件HIT)
ソフトがあれば、上記を全部所属クラブの国籍コードをレジスタへ設定する命令に
書き換えるのが一番早いんだけど、無いため、選手データのサイズ0x3Cに注目し、
0x3C(60 = (2^4-1) * 2^2)となり、一人目の選手の開始アドレス(選手IDが0x2710
未満なら[[0x81648628 + 0x4] + 0x4]、以上なら[[0x81648628 + 0x8] + 0x4])へ、
下記のような命令で選手ID * 0x3Cを加算し、アクセスしていると予想し、
RSB 選手ID, 選手ID, LSL#4
ADD 一人目の選手の開始アドレス + 選手ID, LSL#2
逆アセファイルを、RSB.*LSL#4で検索する(百件数十件HIT)
パラパラ見てたら、直ぐに渡した選手IDの選手の先頭アドレスを返すと思われる
関数が見つかったので、それを呼び出している箇所を検索(百件数十件HIT)
上記の関数呼び出し箇所とldrb.*#2]の検索にHITしたアドレスを突き合わせて
アドレスの近いアドレスを抽出すると数十件になるので、またパラパラ眺めてい
たら、選手の国籍IDと所属クラブの属する国籍を比較し、異なっていたら変わっ
た値(0x27E4)を引数に関数を呼び出している箇所が見つかった
経験則から、メッセージIDかと思い、メッセージファイル群を0x27E4でbgrepす
ると、「外国籍選手枠をオーバーしています。」の文言を含むファイルにHIT
したので、決めつけの解析が運良く当たっていたのかと思ってコード投稿した
感じです
おまけに付けた何度でも選手交代可能は、逆に上記のメッセージフィルに含まれ
ている「交代枠をオーバーしています。交代選手を見直してください。」のメッ
セージIDで逆アセリストを検索することにより、アドレスの特定が容易にできた

>>849
コメント見てなかったけど、これ手打ちしたの?
選手データってver1.00で18000件超えてるから手打ちしてたら自分なら過労死す
るレベルに感じる
>>823でも書いたけど、復号済みのデータから作成した方が良いよ
一応、ver1.00での選手ID一覧テキストを下記に上げておきました

https://40.gigafile.nu/1123-b43452c5560d92ba5ded32bdc0a4a7f40
0859名無しさん@お腹いっぱい。
垢版 |
2020/11/16(月) 20:19:53.68ID:UsjpKOox
ちなみに、>>853のコードは下記41箇所から呼び出されている外国籍選手判定関
数(1が返ればOK、0が返ればNG)を書き換えているため、試合出場関連での
チェック以外の不要な判定も含まれている可能性が高い
もし、不具合が有れば下記コードの内、数個だけだと思われる必要なものだけを
ONにするのがベスト
$A200 8126C7D8 0001F04F
$A200 8126D06A 0001F04F
$A200 8126D1BA 0001F04F
$A200 8126D20E 0001F04F
$A200 812C55B0 0001F04F
$A200 812C56B6 0001F04F
$A200 812DEF36 0001F04F
$A200 812DF032 0001F04F
$A200 8136EA70 0001F04F
$A200 8137EB2E 0001F04F
$A200 813917E4 0001F04F
$A200 81395354 0001F04F
$A200 8139656A 0001F04F
$A200 813965E4 0001F04F
$A200 8139C2D0 0001F04F
$A200 8139E2C6 0001F04F
$A200 8139E38C 0001F04F
$A200 8139E3F2 0001F04F
$A200 813A2CCC 0001F04F
$A200 813A357A 0001F04F
$A200 813A3ACC 0001F04F
$A200 813BD97C 0001F04F
$A200 813CA288 0001F04F
$A200 813CA720 0001F04F
$A200 813CA9CC 0001F04F
$A200 813CAE06 0001F04F
$A200 813CB28E 0001F04F
$A200 813CB490 0001F04F
$A200 813CB600 0001F04F
$A200 813CB894 0001F04F
$A200 813CBA78 0001F04F
$A200 813D150C 0001F04F
$A200 813D15C0 0001F04F
$A200 813D168C 0001F04F
$A200 813D1746 0001F04F
$A200 813D3320 0001F04F
$A200 813D34C0 0001F04F
$A200 813D36AC 0001F04F
$A200 813D39A6 0001F04F
$A200 8140D004 0001F04F
$A200 8140D0E0 0001F04F
■ このスレッドは過去ログ倉庫に格納されています