Skip to content
/ Secunda Public

a x64dbg plugin to generate code signature for skyrimse

License

Notifications You must be signed in to change notification settings

himika/Secunda

Repository files navigation

secunda 1.1 by himika

とりあえずの、ざっと簡単な説明だけなので

あとで綺麗に書き直します。たぶん。

これなに?

x64dbg用のプラグインです。

SkyrimSE.exeがバージョンアップするたびに、関数とかのアドレスが変わるのが面倒くさいよー!っていう人むけです。

関数やオブジェクトの特徴を覚えて記録しておくことで、関数に張ったラベルを張り直す手伝いをしてくれます。

インストール方法

ここから Secunda.zip をダウンロードしてください。アーカイブを解凍してSecunda.dd64をx64dbgのプラグインフォルダにコピーしてください。

つかいかた

まずは、CPUビュー上で覚えさせたい関数にラベルを張ってください。「:」 キーを押せば張れると思います。

次にラベルの位置から数行範囲選択して

右クリック → SECUNDA MOON → Create signature を選択してください。

Create Signature ウィンドウが開きます。

さきほど選択したコード部分から、関数を検索するためのコードが自動で生成されます。

下段テキストボックスに表示されているHEXの羅列が、検索のためのHEXコードです。

「Ctrl+B」を押すとでてくる「パターン検索」で使えるやつです。

.exeのバージョンが変わると変更されそうな部分は自動的に「??」に置き換えてくれますが、もし細かい調整が必要なら、チェックボックスをON/OFFすることで調整可能です。

デフォルトだとショートジャンプ命令も「??」にしていますが、これはOFFでも良いかもしれません。

この時点では、まだ「OK」ボタンは押せません。

「Scan」ボタンを押すと、実際にこのコードで検索可能かどうかスキャンしてくれます。結果はx64dbgのログビューに出力されます。最下段のステータスにも表示されます。

検索結果が1件だけに絞れた場合は、「OK」を押せるようになります。複数ヒットする場合は特徴点として使えません。その場合は選択行を増やして検索コード自体を長くするなどして対処してください。

「OK」を押せば登録完了です。

また下画像のように、関数やオブジェクトへのリファレンスからも、特徴点を作成することができます。

関数の行数が短すぎて特徴点を作れない場合などは、リファレンスから作成すると良いでしょう。

登録を消したい場合は、ラベルの上で右クリック → SECUNDA MOON → Remove signatureを選択してください。

登録したラベルを一覧表示したい場合は、x64dbg上部のメニューから

プラグイン → SECUNDA MOON → Show signatures を選択してください。リファレンスビューに一覧が出力されます。

リファレンスビューを自動で開いてくれたりはしないので、リファレンスタブをクリックするか「Alt+R」を押してください。(ビューの切り替えはプラグインではできないみたいなので。すみません)

登録をファイルに保存する場合は、同様に x64dbgのメニューから

プラグイン → SECUNDA MOON → Save signature fileを選択してください。

.json形式で記録されるので、テキストエディタで開いて編集することも一応は可能です。

保存したファイルを読み込む場合は、メニューからOpen signature fileを選んでください。新しいバージョンだった場合、保存したデータから自動で検索してラベルを張り直してくれます。

また、skse64で使っている関数やオブジェクトをすべて登録したファイルを Scanda/sigfiles/SKYRIMSE_SIGNATURES.json に置いてあります。よろしければ使ってください。

ついき

ここまで書いてから気が付いたのですが、このプラグイン、SkyrimSE.exeのバージョン違いの判断はファイル名を見て判断してます。

実行ファイルをバージョンごとに SkyrimSE_1_5_97.exe などリネームして管理するといいと思います。

steamlessなどでSkyrimSE.exeにかかっているDRMを解除してから、バージョンごとにリネームしておくといいんじゃないでしょうか。

About

a x64dbg plugin to generate code signature for skyrimse

Resources

License

Stars

Watchers

Forks

Packages

No packages published