Git Product home page Git Product logo

secunda's Introduction

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を解除してから、バージョンごとにリネームしておくといいんじゃないでしょうか。

secunda's People

Contributors

himika avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.