新着順表示

Re:自家用SSG
eu / 添付 / 2009/12/07/Mon/02:17 (No.6604)

  AlterEgoみたいに
ブレイクしかけたポイントが04B32A24で
ECX=04B30020 EIP=004385D6
004385C4 MOV EAX,[696E5C]
004385CD MOV ECX,[EAX+5C]
004385D0 MOV [ECX+2A04],EBX
だから_ [:[:[:0x696E5C:]+0x5C:]を基準にSSGを書いてる
とかってわかりやすいのなら理解できるんですけど


上のテキストみたいにVenusBlood-Desire-は
難しそうなので全然わからないんですよね
どこからみていいのやら…
↑の自分なりの応用は変動ごとにステータスの頭の1バイトを追っていけば
ポインタ見つからないかなぁとかって試みだったけど無理だったってだけの話です
VenusBlood-Desire-ってSSG自体はサーチ系で作れば簡単そうなんですけど
それやっちゃうと負けかなぁとか思えてきちゃってます
 

Re:【改造依頼】VenusBlood -DESIRE-
陽炎 / 2009/12/06/Sun/11:26 (No.6603)

  ここに通う8〜9割くらいの職人さんがこぞってバルドに流れてるから他のゲームは過疎ってるなー、しゃーないっちゃしゃーないが
とはいえ、今コレは修正パッチが何回も出てるから少し様子をみるのもやむなしか
私からも改造依頼をさせていただきます
 

Re:【改造依頼】BALDR SKY Dive2
たむたむ / 添付 / 2009/12/05/Sat/23:10 (No.6602)

  エアリアルマシンガンが最小熱量値が間違っていたので修正しました  

Re:【改造依頼】VenusBlood -DESIRE-
以下略 / 2009/12/05/Sat/17:56 (No.6600)

  BALDR SKY Dive2と違って盛り上がっていませんが、
こちらも改造よろしくお願いします。
 

Re:自家用SSG
OLDGAMER / 2009/12/05/Sat/15:40 (No.6599)

  >ポインタってのはアドレス変動してもポインタ自身のアドレスは変動しないから

その考え方はポインタがひとつのみならYES 多重ポインタなら大本はYESで二個目以下ではNOとなります

>自分なりの応用
というからにはいままでいくつかポインタを見つけてSSGを作って成功してるのでしょうか? それは多重ポインタも含みますか?
もしそうなら以下の話は聞き流してください

(0A07B210)にブレークポイントを仕掛けてと書いてあるので
0A07B210は最終アドレスです
EBX=0A07B210となっているのでアドレス変動を起こすとその時点でこの全ての数値は変わってしまいます
それなのにいくらその値を検索しようとポインタがみつかるわけはありません
そこをクリアしているとして加算の数値が大きい場合ちょっとくらい変えても意味がありません

例えば
MOV EAX,[478FB0]
MOV EBX,[EAX+9ABC]
というコードが近辺あるいはこの処理にジャンプする直前にあって
[478FB0]+9ABCというのが正解の場合0A07B210-9ABC=0A071754
5417070Aがバイト列検索する値でヒットするのが478FB0です
ですから推測で探すのなら
070Aでバイト列検索ということになります
そのときはヒットするのは478FB2となります

そこもクリアしている場合
その場合考えられるのは
変動アドレスに単純な加算のみを使っていない場合
になります
この場合が逆アセンブラコードを辿ることでしか探せないでしょう

このMOVやJMPなどアセンブラの基礎命令が解らないときはネットで調べてみてください

そこが解っている場合は戦国史FEのSSGの欄外などにプログラムの流れとかを書いてるので解析の参考にしてみてください

正道の方法はこのサイトのリンク集のサイトを全て廻って勉強に20時間もかければ理解できると思いますのでできれば正道を歩んでください邪道でできることは限られています
 

Re:自家用SSG
eu / 2009/12/05/Sat/11:42 (No.6598)

  ポインタってのはアドレス変動してもポインタ自身のアドレスは変動しないから
SSG書くときにそのポインタ変換演算子を元に加算演算子でアドレスを示せるって理解でいいんですよね?
SSGの作り方では書いてなかった方法ですが0A07B210にあたるステータスはすぐバイト列検索で見つかるので
変動範囲が大きいこともありアドレスの頭だけで検索をかけて変動させるってことを繰り返しても
見つかるのではないか?って自分なりの応用だったのですが最終的に1つも当たらないので
どこか間違ってたのでしょうね
B2070Aの検索ついでB1070Aなど前後10くらいずつも検索してもヒットしない状態でした
まだSSGは初心者なのでポインタ検索の正道の方法ってのは理解できませんが
とりあえず勉強しなおしてきます
 

Re:自家用SSG
OLDGAMER / 2009/12/05/Sat/10:32 (No.6597)

  質問の内容がわかりにくいので逆に質問させてもらいます
>1つも見つからずバイト列検索ですぐ見つかるので
バイト列検索で10B2070Aを探してヒットしてるんですかしていないんですか?
ヒットしているならそのヒットしたアドレスを更にバイト列検索しましょう

>わざと連続で変動させて頭の1バイト
まず変動させてサーチしろとはけして書いてなかったような気がします
つぎに変動させない場合も頭の1バイトはけしていじってはいけません
ヒットしてなかったとした場合次に行うのはB2070Aの検索ついでB1070Aの検索です
つまりは末尾です
もちろんそれら全てが正しく行われてもうまく探せない場合もあります 所詮これは邪道です
邪道があれば正道の方法もあります
その方法は簡単にいえば本来の変動アドレスの見つけ方である逆アセンブラコードを辿っていく方法を取る必要があるのでしょう
この場合EBXがどうなっているか調べる必要があるのでデバッガの使い方を覚えてくださいというのが一番正しいアドバイスかなぁ?

近くに MOV EBX,??? というのがあればとりあえず???の部分を辿りなければこの処理の先頭アドレスにジャンプする命令を探す必要があります

とりあえずもう一度変動アドレスのSSGの作り方を読み直してみてどこでつまづいてるのかそちらで質問してもらえれば幸いです
追伸
できればあなたがあきらめないことを祈っています
 

Re:【改造依頼】BALDR SKY Dive2
OLDGAMER / 添付 / 2009/12/05/Sat/09:51 (No.6596)

   たむたむさん検証ありがとうございました
実際にVERUPしないで書いたので色々不備があったようですねぇ
とりあえず直しました 再度検証頂ければ幸いです
 

Re:自家用SSG
eu / 2009/12/05/Sat/02:26 (No.6595)

  OLDGAMERさん
変動アドレスのSSGの作り方に書こうか迷ったんですがこっちで質問させてください
VenusBlood-Desire-の変動アドレスのポインタ探してるんですが
見つけ出したアドレス(0A07B210)にブレークポイントを仕掛けて
Registers:
EAX=00000001 EBX=0A07B210 ECX=0012D894 EDX=00000006
ESP=0012D814 EBP=0012D86C ESI=10E8EEFC EDI=00000004
EIP=00405998 EFlags=00200202 [ I ]
Stack dump:
0012D86C 00000200 0799BF24 00000004
0041FFB1 00000200 0799BF24 0A07B210
ThreadID:
00000C48
でEIP=00405998の前後で逆アッセンブラで
MOV [EBX],EDXってなってたので
10B2070Aで検索でポインタ探したんですが
1つも見つからずバイト列検索ですぐ見つかるので
わざと連続で変動させて頭の1バイト(0A07B210の0A部分)だけで検索して絞っていくって方法も
1つもあたらないのでお手上げ状態です
こういう場合ってポインタはどうやって見つければいいかアドバイスなどもらえないでしょうか?
 

Re:【改造依頼】BALDR SKY Dive2
お世話になります / 2009/12/05/Sat/01:42 (No.6594)

  >>75
記憶遡行でたまに落ちることがありましたがそれ以外では今のところ大丈夫でした。パッチあてる以外は特に何も違いはないはずなのですが、こちらの環境のせいかもしれません。
時間遡行のみで戦闘終了後に発生するだけなので利用できないわけではなかったのでありがとうございます。
 

Re:【改造依頼】BALDR SKY Dive2
たむたむ / 2009/12/04/Fri/16:30 (No.6593)

  >>73
OLDGAMERさんSSGありがとうございいます
Ver1.02のフォースPや各ゲージのメモリアドレスは全てと1.03と同じでした

一部を除いてVer1.03でも機能しているのですが、[Ver1.02]→[戦闘時武装変更]→[武装記憶領域]→
[Sダッシュ装備C]を選択するとエラーが出ます(定義名が間違っているようです)
 

Re:【改造依頼】BALDR SKY Dive2
たむたむ / 2009/12/04/Fri/16:04 (No.6592)

  >>74
耐久・ヒート・フォースクラッシュのゲージを固定したまま1章〜13章(END)までクリアして
ゲーム終了してもエラー落ちしないのを確認したのですが、タイミングによるのかもしれ
ません(チェックをシビアにして確認しようにも私の環境では再現できていません)
 

Re:【改造依頼】BALDR SKY Dive2
お世話になります / 2009/12/04/Fri/12:21 (No.6591)

  >>71
>各ゲージ(耐久ゲージやフォースクラッシュゲージ)で「値の固定
>化」したまま戦闘パートから出ても不正処理エラーで落ちないよ
>うにしました

とのことですが1.02で耐久とヒートを固定して戦闘パート終了後SSGエラーで落ちてしまいます。
 

Re:【改造依頼】BALDR SKY Dive2
OLDGAMER / 添付 / 2009/12/04/Fri/10:16 (No.6590)

  戦闘時武装を追加 全ボタンフォースクラッシュも可能のようです

VER1.00では自家用として使えていますが1.02は試してませんのでよければ検証して頂ければ幸いです

>1.03にて
プログラム改造系はverが違えば当然落ちます 1.03のフォースPのアドレスなど解れば対応できるとは思います
 

Re:【改造依頼】Cresteaju
水百 仙合 / 2009/12/04/Fri/02:25 (No.6589)

   ↓して中身を見ながら弄ってみた。

結果:そんなコード要らない
理由:ステはレベルに依存しているから
方法:レベルをサーチし、「98」にしてレベルを一つ上げる

 メモリには、

キャラID、レベル、経験値、魔法習得値、LP、(空き)、MC、(空き)、Max LP、(空き)、Max MC、力、etc...

と並んでいるから一番変動し易い経験値で検索すると良。
 


- Web Topics ver 1.26 -