プログラムを変更する(4)
ck2のパッチ情報です。
前回
今回
パッチを作っている最中にバージョンが2.8.0から2.8.1に上がりました。しかたないね。最初からやり直します。訳文テキストのアップデートは待ってください。
改造用にコードセグメントを追加
0x2000ほど用意しました。
デバッガ用の修正を追加
これは今回初登場です。このあたりを見てよしなにします。最終的には取り除きます。
steam_api.h (Steamworks Documentation)
ヒープ拡張
.fntで文字列検索します。いました。
使っている場所を見ます。怪しい箇所にブレークポイントを置いておきます。
実行したらスタックトレースを見ます。スタックトレースには呼び出し元がリスト化されています。実は最近までこの機能を知りませんでした。勉強不足ですね。
後は怪しい箇所を見つけます。下記のcall dword ptr [eax+8]は怪しいです。見分けがつくまで慣れが必要です。
ブレークポイントを置いて、中の関数をステップ実行します。ヒープサイズの指定(push 2684h)がありました。
ランチャーのフォントヒープサイズ指定を見つけられたので、同じ方法で本体のフォントヒープサイズ指定(push 2690h)も見つけられます。
後はそれぞれを検索して適当に直せば完了です。
ヒープ確保(追記)
Heap確保した領域を0クリアしておきます。下記を参考にdwFlagsを変更します。
プログラムを変更する(5)へ続く