22/02/18 22:00:51.99 h6l5nkfq.net
パターンによる基本的には
・アドレス直指定のデータ書き換えの場合
・1件ずつ新しいアドレスを調べて書換える必要がある
・ポインタ指定のデータ書き換えの場合
・共通しているポインタを使用している場合
・新たに調べたポインタに一括で書換え出来る場合が多い
・別々のポインタの使用している場合
・それぞれ新しいポインタを調べて書換える必要がある
・プログラム書き換えの場合
・既存コード修正の場合
・既存コードオリジナルのバイト列検索により新規アドレスを特定し書き換えるだけで済む場合が多い(ツールを作ればほぼ自動化可能)
・空き領域に新規コードを作成している場合
・既存コードのオリジナルのバイト列検索によりアドレス修正し、加えて新たな空き領域アドレスを調べて相対ジャンプ命令を書き換え、空き領域コードのアドレス部も書き換える必要がある
質問の書き方からしてアドレス直指定なのかと思うが、コードのアドレス部が近ければ代表で1件調べて、そのズレ(相対アドレス)を他のコードに適用すれば使えるものもあるかもしれない
相対アドレスの適用もエクセルなどを使えば一括で適用出来る