X



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

レス数が900を超えています。1000を超えると表示できなくなるよ。
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
0860名無しさん@お腹いっぱい。
垢版 |
2020/11/17(火) 10:59:03.52ID:ezmqX2qn
<<853
細かい解説ありがとうございますm(__)m 何だか自分にはとても難しい内容ですが
運では無く明確な根拠と経験則←(これが大きそう)と思います。
解析には複合?ファイルとやらがあればはかどりそうですね。
ファイルが有っても自分にはチンプンカンプンですが。
選手ID一覧テキストありがとうございます。ご察しの様に自チームの選手IDをちまちまと書き換えて一覧表を作成しております。
何せ選手数が多くて果てしない作業になると思っていた所です。
復号済みのデータよくわかりませんが
便利な物そうですね。
色々とありがとうございました
0861名無しさん@お腹いっぱい。
垢版 |
2020/11/20(金) 00:12:17.42ID:7ZANnNiy
俺の屍を越えてゆけ2の奉納点と所持金MAXのコード教えてくださいオナシャス
0862名無しさん@お腹いっぱい。
垢版 |
2020/11/20(金) 00:25:39.23ID:wDklge1X
>>861
暗号化されているので、法の観点から具体的には書けないけど、
https://medaka.5ch.net/test/read.cgi/gameurawaza/1551175120/19
を参考にすれば、アドレスが分る筈
値は最大値にならなくても適当に書き替えて大きい値になるような、ポインタ
コードでも作成すれば良いんじゃない?(たしか暗号化キーは変わらない筈)
0863名無しさん@お腹いっぱい。
垢版 |
2020/11/20(金) 12:54:28.06ID:cz68fTCW
>>861
スマソ、よく見たら神様自身の奉納点の設定だった
後、暗号化キーは変わらないって書いたけど、何かの拍子に変わったような気もした
最大値にしたいのなら一番良くて簡単なのは、逆アセして$Aコードを作成すること
暗号化したままでは、最大値超過チェックは出来ないので、所持金など必ず復号した
状態で最大値(99999999)と比較し、超えていれば最大値(99999999)に修正した後、
暗号化して下記のアドレスに書き込むことになるので、その大小比較箇所を変更し、
必ず最大値(99999999)が設定されるように修正すれば良い
それなら一々キーを拾ってきて、復号&暗号化する必要も、その処理自体を解析する
必要もない上、キーに縛られないため誰でも使用できるコードになる

それ以外の方法でやるならプラグインの作成しかないけど、ざっくり下記のような感
じになる筈
復号&暗号化の処理については、メリットが無いため解析していない

//所持金・奉納点に最大値を設定する関数
static void setHounouten(int lock)
{
  if (lock)
  {
    uint32_t seg1Addr, addr;
    uint64_t value;
    seg1Addr = getBaseAddr(MAIN_MODULE_NAME, 1);
    if (seg1Addr == 0) return;

    addr = READU32(seg1Addr + 0x000197F8);
    if (addr == 0) return;

    addr = READU32(addr + 0x00000854);
    if (addr == 0) return;

    // 暗号化した値を取得する
    value = encrypt(99999999);

    //所持金のセット
    WRITEU64(addr + 0x0007B7EC, value);

    //奉納点のセット
    WRITEU64(addr + 0x0007B7F4, value);

  }
}

//暗号化関数
uint64_t encrypt(uint64_t value)
{
  //キーを取得する
  //valueを暗号化して返す
}
0864名無しさん@お腹いっぱい。
垢版 |
2020/11/21(土) 10:53:53.60ID:A9fvh3WI
久しぶりに討鬼伝の無印の方やってるんだがver1.07の勲章全開とかできないかな
あと武器使用回数全部0にしたい
お金とか攻撃力は弄れるんだけど、そういう履歴とか開放系はどこ弄ればいいのか分からない
勲章全部とんないと極行けなくてめんどくさくてずっと放置してたわ
0865名無しさん@お腹いっぱい。
垢版 |
2020/11/21(土) 13:16:32.73ID:8bjZMicJ
>>864
>勲章全部とんないと極行けなくて
そういう仕様なの?
もし、仕様じゃないんならそのまま放置しとけば良いんじゃない

勲章条件見たけど、例えば
雑鬼殲滅:小型"鬼"を合計で1000対討伐した
なら小型"鬼"の討伐数をカウントし、メモリ内に保存してあるので、それを
検索(具体的な値がわからなければ、小型"鬼"倒して、>サーチ)すれなり
してアドレス特定し、例えば999にしセーブしバックアップをとる
その後、小型"鬼"倒す前後で変動サーチ掛けるなどしてアドレスを特定する
特定したアドレスの周辺を書き換えてみて、勲章解放されるか確認してみる
とかすれば良いんじゃない?
0866名無しさん@お腹いっぱい。
垢版 |
2020/11/21(土) 23:56:37.75ID:A9fvh3WI
>>865
勲章全て取得した状態で極にデータ引き継ぐと装備やアイテムとかじゃない特典がある
討伐数とかはやってれば自然と取れる
このゲームで一番めんどくさい勲章が「一意専心」と「"鬼"を知る者」と「英霊の解放者」

一意専心は武器種のどれかを全種類集めるんだが
馴染み度っていうその武器使用してると溜まってくゲージがあって
それがMAXに達して無いとそこから次に強化派生や合成ができない
そしてそのゲージが溜まるのが恐ろしく遅い
装備するだけで馴染み度MAXコードがあればいいけど馴染み度は数値化されてないからサーチ掛けれない

"鬼"を知る者は全ての敵のドロップ素材を取得埋めないといけない
その中に全破壊報酬ってのがあって敵の破壊部位を一度のクエで全部破壊した時に得られる特別報酬がある
何十何百繰り返して出るかどうか

英霊の解放者は敵がドロップする装備の一種みたいなものを全部集める
その中に出て来るかどうかがランダムなレア敵がいる
出て来るかどうか分からないので10分待つとかある
仮に出てきても必ず落とすとは限らない

普通にやってこれらだけでも運がよくて100時間悪くて300時間かかったりする
0868名無しさん@お腹いっぱい。
垢版 |
2020/11/22(日) 08:37:36.89ID:IZSX9OLm
>極にデータ引き継ぐと装備やアイテムとかじゃない特典がある
それが何か知らないけど、それが目的ならそれ自体を極側でvitacheatで出せば
良いんじゃない?

>討伐数とかはやってれば自然と取れる
そうじゃなくて、その達成前後で変動サーチを掛けてフラグ管理しているアド
レスを特定し、その周辺をとりあえずFFで埋めるなどして勲章を取得出来ない
か確認してみろってこと
>>867を見る限り、極では連続した16バイトを書き換えて50個ある勲章全てを
取得していると考えられるので無印でも同じように連続したアドレスで勲章を
管理していると思われる(バラバラに格納してたら管理が面倒なので、ほとん
どのゲームもだいたいそうなってる)

今現在、勲章の取得が難しい状況なら、セーブデータのバックアップを取り、
削除して最初からやってみるのが逆に楽だと思う
狙い目は
小型“鬼”を累計で1000体討伐した
大型“鬼”を累計で100体討伐した
禊場へ50回行った
ハクを合計で1000000獲得した
みたいに、カウント出来て書き換えられるものが良い
(仮に画面で確認できなくても0からカウント出来るので)
条件は検索範囲が難しいけど、とりあえず上のカウントを含み範囲が0x2000000
あたりから、32bitで勲章0個状態なら初期値0、0個以外ならinitialで、取得後
>検索(下記考察でbit管理していると思われるため)かな
上手くいかないなら検索範囲を変えてやってみる

後、適当な考察だけど16バイト(128bit)を書き換えて全勲章というのは、勲章
50個とは計算が合わない(2bitで管理していれば一応合うけど見ないし、4bit
管理なら32個で足りない)ので、
無印を含めた計103個を1bit単位で管理しているのかな(2バイトづつで無印と
極と分けてるかもしれないけど、コードが横着して全埋めしてるのでわからない)
0870名無しさん@お腹いっぱい。
垢版 |
2020/11/24(火) 10:28:37.32ID:fAWs/fES
ゲームで武器の攻撃力とか変えれたけど防具の数値が変えれない
武器は数値でサーチして100件くらいなら手当たり次第弄って反応あったの見つけたけど
防具は500件とか出てそれ全部弄ったとしても反応ない
サーチ範囲拡大するとヒットしなくなる
武器と同じようにすぐ見つかると思ったんだがなぁ
0874名無しさん@お腹いっぱい。
垢版 |
2020/11/24(火) 20:22:55.18ID:ZsU/WYFI
基本的な質問です
経験値とか数字が見えてればサーチで見つけられるんですが、例えば三国無双 猛将伝とか経験値が見えないとき、アイテム拾ったら経験値+100とかあるときに、+100になったところをサーチするときってどうやるんでしょうか
いまいちファジーサーチの使い方がわからなくて...
0876名無しさん@お腹いっぱい。
垢版 |
2020/11/24(火) 21:34:27.01ID:YqoCTvSs
>>874
Fuzzy Search(変動検索)
1.まず、以下に沿って初期値検索を行う(検索範囲と検索サイズをは載せてない)
 α.初期値不明の場合
  A.initialを選択
 
 β.初期値がある程度推測できる場合
  ・Valueへ入力した値に対し
  A.小さい場合
    <(より小)または<=(以下)を選択
  B.等しい場合
    ==を選択
  C.等しい場合
    大きい場合
    >(より大)または>=(以上)を選択
  D.含まれる場合
    betweenを選択(betweenを選択した場合のみValueへ終了値が入力できる)
   
2.次にゲーム内で値を変動させてから、以下に沿って絞り込み検索を行う

 α.指定値と比較したい場合
  ・Valueへ入力した値に対し
  A.小さい場合
    <(より小)または<=(以下)を選択
  B.等しい場合
    ==を選択
  C.等しい場合
    大きい場合
    >(より大)または>=(以上)を選択
  D.含まれる場合
    betweenを選択(betweenを選択した場合のみValueへ終了値が入力できる)
 
 β.前回検索時の値と比較したい場合
  ・latestを選択し、前回検索時の値に対し
  A.小さい場合
    <(より小)または<=(以下)を選択
  B.等しい場合
    ==を選択
  C.等しい場合
    大きい場合
    >(より大)または>=(以上)を選択
  D.含まれる場合
    betweenを選択(betweenを選択した場合のみValueへ終了値が入力できる)

十分に件数が絞り込まれるまで2.を繰返す

十分に件数が絞り込まれない要因としては
・検索範囲が広すぎる
 →関連のありそうな他のデータがある場所の周辺で狭めてみる
 →範囲を狭めて小刻みに変動サーチを試す
・値の絞り込みが不十分
 →ゲージが空や満タンの場合には、値の型も意識し、0や最大値で==検索してみる
 →増減分が画面表示され、ゲージがどれだけ増減したかの比により値の範囲を推測し、
  between検索してみる
・その他
 →色々考えれるが、大事なのは値がどう動くのかを推測すること
  推測が外れている場合は、値の型が違う(float、double、N倍されているなど)、
  動きが逆(タイムリミットなど一見ゲージが増えていたも、実際は値が減っている)
  であるケースなども考慮する
0877名無しさん@お腹いっぱい。
垢版 |
2020/11/24(火) 21:36:00.60ID:YqoCTvSs
すいません、こっちで

Fuzzy Search(変動検索)
1.まず、以下に沿って初期値検索を行う(検索範囲と検索サイズをは載せてない)
 α.初期値不明の場合
  A.initialを選択
 
 β.初期値がある程度推測できる場合
  ・Valueへ入力した値に対し
  A.小さい場合
    <(より小)または<=(以下)を選択
  B.等しい場合
    ==を選択
  C.大きい場合
    >(より大)または>=(以上)を選択
  D.含まれる場合
    betweenを選択(betweenを選択した場合のみValueへ終了値が入力できる)
   
2.次にゲーム内で値を変動させてから、以下に沿って絞り込み検索を行う

 α.指定値と比較したい場合
  ・Valueへ入力した値に対し
  A.小さい場合
    <(より小)または<=(以下)を選択
  B.等しい場合
    ==を選択
  C.大きい場合
    >(より大)または>=(以上)を選択
  D.含まれる場合
    betweenを選択(betweenを選択した場合のみValueへ終了値が入力できる)
 
 β.前回検索時の値と比較したい場合
  ・latestを選択し、前回検索時の値に対し
  A.小さい場合
    <(より小)または<=(以下)を選択
  B.等しい場合
    ==を選択
  C.大きい場合
    >(より大)または>=(以上)を選択
  D.含まれる場合
    betweenを選択(betweenを選択した場合のみValueへ終了値が入力できる)

十分に件数が絞り込まれるまで2.を繰返す

十分に件数が絞り込まれない要因としては
・検索範囲が広すぎる
 →関連のありそうな他のデータがある場所の周辺で狭めてみる
 →範囲を狭めて小刻みに変動サーチを試す
・値の絞り込みが不十分
 →ゲージが空や満タンの場合には、値の型も意識し、0や最大値で==検索してみる
 →増減分が画面表示され、ゲージがどれだけ増減したかの比により値の範囲を推測し、
  between検索してみる
・その他
 →色々考えれるが、大事なのは値がどう動くのかを推測すること
  推測が外れている場合は、値の型が違う(float、double、N倍されているなど)、
  動きが逆(タイムリミットなど一見ゲージが増えていたも、実際は値が減っている)
  であるケースなども考慮する
0879名無しさん@お腹いっぱい。
垢版 |
2020/11/25(水) 19:14:28.52ID:C0I+G8jI
あれば便利だけど、上で挙げたように値を推測してのbetween検索である程度
なんとかなるから個人的な優先順位としては低いかな

個人的な優先順位としては、
1. z06で落ちてしまうゲームへの対応(パワプロ、進撃の巨人他)
2. z06の検索バグ修正(範囲指定すると通常検索に掛からない場合がある他)
3. ポインタ検索機能の追加
4. 検索出来ないゲームへの対応(剣街他)
5. コード数制限(50)の緩和

バージョンアップが来ないのは仕方がないけど、オープンソース化も確か元の
プラグインがrinCheatの盗用疑惑があるんだかないんだかで厳しいんだろうな
違ってたらすいません(開発者には感謝しかありません)

後、一応vitacheatで出来ない検索もPCとFTPを利用すれば可能なので、載せて
おきます(方法は誰でも思いつくと思うけど、ソフトとか知らないかもなので)
方法としては、BGFTPなどバックグラウンドでFTPサーバを起動してくれるアプ
リケーションをインストールしておき、ゲーム実行中の任意の検索タイミングで
vitacheatのダンプを行い、FTPでPCへダンプファイルを転送し、PC側でCheat
Engineなどのバイナリファイルを比較検索できるツールを利用すれば自由に
検索できる
メリットは
範囲も値も全く見当がつかない場合は、PCパワーや検索条件の柔軟性から逆に
早く検索できる場合がある
floatで格納されている値を数値で検索したりなど見当が外れていても、ダン
プファイルはメモリと違い値が変更されないので、1からfloatで検索できる
など、状況を再現することなく色々な推測に基づいて再検索ができる
デメリットは
PCが必要になる
手間が増える
ダンプファイルサイズにより、ダンプ時間とFTP転送時間がそれなりに掛かる
0881名無しさん@お腹いっぱい。
垢版 |
2020/11/27(金) 17:15:54.39ID:c78swpse
うるせえしね乞食
0882名無しさん@お腹いっぱい。
垢版 |
2020/11/27(金) 20:52:17.46ID:WUibl8IS
ガレリアのVita版てコード作れる?
古いゲームしかやってないから新しいゲームだと出来なかったりするのか不安なんですけど
0883名無しさん@お腹いっぱい。
垢版 |
2020/11/27(金) 21:11:37.92ID:N6iOeFA8
>>882
ガレリアはルフランと作り一緒に見えるのに新作でお高いので買ってないけど
普通に作成可能だと思う
ルフランはコード作成したので、もしわからなかったら助言くらいはできるよ
0884名無しさん@お腹いっぱい。
垢版 |
2020/11/27(金) 21:28:59.25ID:WUibl8IS
>>883
ありがとうございます
これで心置き無くDL版購入できます
コード作りに詰まった際はアドバイスよろしくお願いします
0886名無しさん@お腹いっぱい。
垢版 |
2020/11/28(土) 16:40:23.81ID:rKTchAbd
>>885
武具の性能変更をしてほぼ無敵にはできたのですがハクスラ要素が皆無でつまらなかったです
拾った武具のレアリティがLEGENDARYで性能の乱数値が常に最高になるコードは作れますか?
0887名無しさん@お腹いっぱい。
垢版 |
2020/11/29(日) 04:10:51.73ID:CIbf7+yX
コードまとめのスプレッドシート見たんだけどこれってどう見ればいいの?見方がよくわからん誰か教えてください
0889名無しさん@お腹いっぱい。
垢版 |
2020/11/29(日) 10:47:43.73ID:05V6vKG7
>>886
>>885じゃないし、ルフランの話だけど、レアリティは拾える武器や防具は階層
を初めて読み込んだ(樽や木箱とか生成した)タイミングで以下の乱数値により
決定されている
乱数[1 〜 (100 - 色々計算された値(0〜70))]
1以下:LEGENDARY
5以下:EPIC
25以下:RARE
25より大:COMMON

つまり、何もレアドロップ率が上がっていない場合は
LEGENDARY:1/100
EPIC:4/100
RARE:20/100
COMMON:75/100
レアドロップ率70まで上げた場合は
LEGENDARY:1/30
EPIC:4/30
RARE:20/30
COMMON:5/30
ストーリーは変わっても、おそらくシステム面は変わってないだろうから、乱数
取得している関数を見つけ、上記の判定を行っている箇所を書き換えれば自由な
レアリティを設定できる

乱数については0〜0xFFFFFFFFを返す関数が大元として1つあり、それを参照して
用途別に他から呼ばれるための関数が大まかに3つある
1つ目が主に確立などに用いられる関数で返す乱数の値が低いほど、発生確率が
上がる(アイテムドロップ、クリティカル、アイテム種類決定、その他色々なこ
とに利用されている)
2つ目が主に範囲のある値の決定に用いられる関数
3つ目が主に確立などに用いられる関数で1つ目との違いは、float値を引数とし
大元の乱数を0〜1.0の範囲に変換した値が引数のfloat値以下なら1を、それ以外
なら0を返す

装備品の性能についての2つ目の乱数関数が返す値を最大にして、効果のある呼
出し元だけ有効にすれば良いと思う
0891名無しさん@お腹いっぱい。
垢版 |
2020/11/29(日) 22:04:23.68ID:Pb3XXQ2s
>>858
>>859
ようやく選手リストが完成しました。
選手ID一覧テキストがなければまだまだ半分も出来てないところだと思います
ありがとううございました。
# PCSG00198
Ver1.03
https://25.gigafile.nu/1206-d05545b08f123b3051305c887621fd648
0892名無しさん@お腹いっぱい。
垢版 |
2020/12/01(火) 21:28:17.50ID:hENkuL04
戦国無双4とかワンピース海賊無双3とかで経験値が見えない、攻撃力とかのパラメータも棒グラフで数値が見えないゲームでレベル上げようとするとどうやってサーチすれば良いんでしょうか?
EXPアップのアイテムを取る前にファジーサーチかけて、アイテム取った後で「>」でサーチかけても絞り込めずでして
ファジーサーチのオールサーチだと範囲が広すぎてかなりの確率でフリーズするので、この辺りのサーチができるようになったらいろんなゲームで応用できるのかなと思っています
0893名無しさん@お腹いっぱい。
垢版 |
2020/12/01(火) 22:09:01.36ID:RtgqdHrh
>>892
戦国無双4の経験値は調べてないけど、HP変動で最大、ワンヒットキル、
無双ゲージ変動で最大、練技ゲージ変動で最大とか随分前にコード作成し
ているんで経験値も普通にファジーサーチ出来るんじゃない?
戦国無双4の仕様を覚えてないんだけど、戦闘中にLVUPする仕様だった?
何にしろ、経験値が増減するタイミングが分っているなら、戦闘中にアドレス
が変動しない限り(普通しない)は必ずファジーサーチで検出できる
経験値を得ている状態で初期検索<>0で、検索範囲は地道にseg1の開始アド
レスから範囲を0x2000000くらいで、スライドさせながら検索してみるとか、
HPや無双アドレスが分っているのなら、その周辺を検索範囲にしてみるとか
広範囲を一気にやりたいなら、>>879の方法でやってみるとか、その気になれば
いくらでもやりようはあると思うけどね
0895名無しさん@お腹いっぱい。
垢版 |
2020/12/04(金) 23:43:38.54ID:IDCO4Ol5
ガレリアの価格下がるどころか上がってるんでDL版買ってしまった記念に

ガレリアの地下迷宮と魔女ノ旅団 ver1.02

_V0 ONにしておくと最終盤で役に立つコード
$B200 00000000 00000000
$A100 0014DB84 0000BF00
$A100 0014DAF8 0000BF00
$A200 001546D4 0001EA4F
$A100 0014DAC0 0000BF00

バグが多いみたいなので、アプデパッチが出たら要修正
0898名無しさん@お腹いっぱい。
垢版 |
2020/12/05(土) 23:05:16.45ID:JSg+QswH
>>897
_V0 銀貨変動で最大
_V0 戦闘獲得経験値最大
_V0 カヴン経験値変動で最大
_V0 戦闘獲得MANA最大
_V0 MANA変動で最大(拠点)
_V0 MANA変動で最大(迷宮)
_V0 HP変動で最大
_V0 HP変動で最大(戦闘中)
_V0 ワンヒットキル
_V0 DP変動で最大
_V0 リインフォース変動で最大
_V0 リベレーションゲージ変動で最大
_V0 秘紋解放いつでも可能
_V0 部位欠損しない
_V0 アイテム個数変動で最大
_V0 必ずアイテムドロップ
_V0 必ず解封済
_V0 レア度設定 03:LG 02:EP 01:RR 00:CM
_V0 必ずヒロイックスキル付与
_V0 ヒロイックスキルセット(01-0A)
_V0 必ずヴァージンエッジ付与
_V0 装備してもヴァージンエッジ消えない
_V0 拾った武具性能最大
_V0 拾った武器錬金耐久数最大
_V0 拾った武具性能乱数+
_V0 パワーソース変動で最大
_V0 友好度変動で最大
_V0 必ずレアドロップ
_V0 必ずノーマルドロップ
_V0 敵消滅&湧かない
_V0 効果残りターン数減らない
_V0 カルマ変動で最小
_V0 戦闘獲得カルマ99
_V0 呪泥&瘴気溜り無効
_V0 酸素ゲージ変動で最大
_V0 トレジャー設定(0x0-0xF)
_V0 DLC機能オン
_V0 踏破ポイント変動で最大
_V0 依頼メモ全開
_V0 依頼何度でも受けられる
_V0 敵撃破数変動で最大
_V0 未撃破でもHP見える
_V0 トレジャー均等取得
_V0 降霊灯SKILLオールオン
_V0 鍵無くても宝箱開く
_V0 戦闘後HP全回復
_V0 キャリーオーバーMAX
_V0 キャリーオーバー上限99
_V0 魂写しするとアニマクラリティMAX
_V0 カテドラルWR/EV必ず出現
_V0 TO発生しない
_V0 壁抜け
_V0 マップサイズ最大
_V0 マップ全開
_V0 トレジャーポイント64箇所
_V0 瘴気の影響なし
の内の何れかで最終盤面で約に立つコード
0900名無しさん@お腹いっぱい。
垢版 |
2020/12/06(日) 00:00:41.27ID:VwmrZL8J
上記の内、最終盤面に限定して役に立つコードは3つで、ONにしていれば直ぐに気付く
3つの内1つは効果が確認しづらく、もう一つも特定の行動を取らなければ気付かない
直ぐに気付くというのは、そのどれでもないので、ONにしても効果が感じられないなら
まだ、その盤面に至っていないだけ
ちなみにこれは購入前にネタバレスレを見ていて、作ろうと思ったコード
0903名無しさん@お腹いっぱい。
垢版 |
2020/12/06(日) 10:52:34.21ID:GP6GVWSl
>>895
サンクス
最初は効果にん?と思ったんだけど続いたんで直ぐにわかった
正直続けるの嫌になってきてたんで助かるわ
0906名無しさん@お腹いっぱい。
垢版 |
2020/12/06(日) 17:34:28.92ID:GP6GVWSl
895みたいなことはできないんだけど自分なりに解析した武器についてのメモ
アイテムIDと二つ名IDは過去スレに書いてあった方法を参照して復号したらわかった
不明箇所についてわかる人がいたら教えて

武器のデータ(サイズ:0xD0)

+0x4(2byte)
アイテムの入手順?
状態フラグ(1byte)
+0x6
1:存在
2:解封済
4:☆マーク
8:バージンエッジ

アイテムID(4byte)
+0x8

レアリティ(1byte)
+0xC
0:COMMON
1:RARE
2:EPIC
3:LEGENDARY

二つ名ID
+0x10

攻撃力(4byte max:99999)
+0x14
防御力(4byte max:99999)
+0x18
回避力(4byte max:99999)
+0x1C
命中力(4byte max:99999)
+0x20
最大HP力(4byte max:99999)
+0x24
最大DP(4byte max:99999)
+0x28
腕力(STR)(4byte max:99999)
+0x2C
体幹力(CON)(4byte max:99999)
+0x30
ドナム力(DMP)(4byte max:99999)
+0x34
素早さ(AGI)(4byte max:99999)
+0x38
器用さ(DEX)(4byte max:99999)
+0x3C
エロス(ERS)(4byte max:99999)
+0x40
運命力(LUC)(4byte max:99999)
+0x44
打撃耐性(2byte max:999%)
+0x48
貫撃耐性(2byte max:999%)
+0x4A
0907名無しさん@お腹いっぱい。
垢版 |
2020/12/06(日) 17:34:54.08ID:GP6GVWSl
続き

焔撃耐性(2byte max:999%)
+0x4C
泥撃耐性(2byte max:999%)
+0x4E
霧撃耐性(2byte max:999%)
+0x50
呪撃耐性(2byte max:999%)
+0x52
幻撃耐性(2byte max:999%)
+0x54
深淵耐性(2byte max:999%)
+0x56
錯乱耐性(2byte max:999%)
+0x58
驚愕耐性(2byte max:999%)
+0x5A
腐臭耐性(2byte max:999%)
+0x5C
ガード補正(2byte max:999%)
+0x5E
与クリティカル補正(2byte max:999%)
+0x60
クリティカル耐性(2byte max:999%)
+0x62
与スタン補正(2byte max:9999)
+0x64
スタン耐性(2byte max:9999)
+0x66
速度補正(2byte max:☆3つ)
+0x68
取得経験値アップ(2byte max:999)
+0x6A
呪毒付加(2byte max:999%)
+0x6C
幻覚付加(2byte max:999%)
+0x6E
深淵付加(2byte max:999%)
+0x70
錯乱付加(2byte max:999%)
+0x72
驚愕付加(2byte max:999%)
+0x74
腐臭付加(2byte max:999%)
+0x76
不明1
+0x78〜0x7F
錬金耐久度(1byte max:99)
+0x80
不明2(各1byte)
+0x81〜0x0x9C
不明3
+0x9D〜0xA0
ヒロイックスキルID(1byte)
+0xA1
不明4
+0xA2〜0xCF
0911名無しさん@お腹いっぱい。
垢版 |
2020/12/12(土) 19:45:06.83ID:6L+Po8gW
>>909
お前が何をしたいのか分からないけど。
普通に見たら、ただの荒らし
最終目的も勧誘する理念も分からん
お前が得意な土俵で相手を煽るのは性格悪いぞ……
ROPにも詳しいのか?
ASLRも理解してるのか?
side-channel attackも、分かっているの?
署名keyや暗号keyの解析も出来るのか?
それとも、何も出来ないから人を集めてるのか?
0912名無しさん@お腹いっぱい。
垢版 |
2020/12/12(土) 19:56:04.97ID:6L+Po8gW
>>909
君が、正常な人間なのか
天才なのか
変わった奴なのかは、分からんけど
挑戦的というか、上から目線の書き方を
名が通ってない状態でするのは
なかなか、入ろうとは思えないよ。
だって、何をしてるんだかわからないやん。
解析やハックって、一言に言っても色んなジャンルがあるからな
ちと、興味わかんよ。
おつかれ
https://i.imgur.com/M81LIz0.jpg
0913名無しさん@お腹いっぱい。
垢版 |
2020/12/12(土) 20:05:04.66ID:EOOvPosI
>>909
お題が下らんよ
結局お題通りにプログラム作ってソースと一緒に送るだけやろ。
解析してexploitを見つけろ!とか
動作中にアセンブラして処理を眺めて
その、プログラム本体の
処理を妨害して任意のコードを実行させる
バックドア付きのプログラムを作れ!とか。

説明スキルも無ければお題もダサい
人を集めて勝手にがんばれ
おつかれ〜\(^o^)/
レス数が900を超えています。1000を超えると表示できなくなるよ。

ニューススポーツなんでも実況