FreeBSDでスタティックリンクでコンパイルされたバイナリ(a.out)を、元のソースがないため、やむを得ずバイナリエディタレベルで改造を加えようとしています。

PREタグを出力している部分に一つタグを追加したいのですが、バイナリエディタで追加して実行すると、Segmentation Faultとなり、coreを吐いてしまいます。
ソースがないのでバイナリを直接いじるしかないのですが、何か良い方法はないでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/07/07 01:30:19
  • 終了:--

回答(1件)

id:namakoIsland No.1

namakoIsland回答回数319ベストアンサー獲得回数02005/07/07 02:59:29

ポイント40pt

FreeBSDとかLinuxとかは全然知らないのですけれども

既に実行ファイル内にある文字列を、バイナリ編集で追加したいということですよね?

既にある文字数を超えないように、遣り繰りするしかないかと。

短くなる分には文字列ターミネータを突っ込めば大丈夫だと思います。

ただ、その部分が”<PRE>”だけだとしたら、未使用文字列(ありがちなcopyrightとか)を乗っ取って、そのアドレスをポイントするようにするしかないでしょうね…解析が必要だと思いますけれど。

id:Marin_MTB

やっぱりそうですよね。

なので、そのように対応しました。

ありがとうございます。

2005/07/11 10:17:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません