アサリの砂抜きは不要?

アサリの砂抜きは常識ですが、実際は潮干狩りで取ったアサリを良く洗えば直ぐ食べれます??

exeのみのプログラム改造(?)

2006-10-01 23:16:14 | 開発
 緊急に対応する案件(exeのみのプログラムが古いWindowsでは動くが、WindowsXPで動かないので。。動かして。。と。。楽しい話)があり。。その対応に追われていましたが。。。無事終了。。。
<経過>
1.「Windows98/me/2000で動いていたプログラムがWindowsXPでは動かない」との話があり、exeのソースは「無い」が。。。どうかして(?)。。との話が来た。楽しそうな話で、やる気が出てしまう。
  ==>25年ほど前に、外国製CADプログラム(¥=数億円だったな)がOSのバージョンUPで動かなくなって、メーカに依頼しても数ヶ月またされるので、仕方なくバイナリーで修正して動かしたな。。と、昔を思い出して。。
2.エラーはI/Oで発生している様である。
3.しかた無いのでexeで使用している外部関数一覧をdumpbinで収集する。
4.その中からI/Oに関係しているような関数を調査対象に選ぶ。
5.exeからOSコールをしてI/Oしている部分を「ハイジャック=apihijackを利用」して、パラメータや関数戻り値を調べて、エラーを起こしている関数を特定する。
6.エラー関数のパラメータを調査して、パラメータを変更して(A)動作確認をしてみるが、エラー関数は正常になったが、他にエラーが発生してしまったので、調査、修正は終了とする。
  ==>ウィルスプログラム(?)ではなく、正当なワクチンプログラム(?)になる予定だったが、症状が重くて、効果がなかった。
7.面倒なので画面や動作仕様から同様なexeを作成する(B)。
  ==>これはリバースエンジニアリング(?)か。
8.大体、同等以上の機能になったら、「ついでに機能追加して。。」と、軽く言われたので「軽くOKしてしまった」。
7.テストが面倒なので、自動実行機能も追加して、2日ほど動作確認をする。
8.無事終了。

<感想>
 パズルみたいで楽しい1週間でした。本当は(A)で終了のはずだったのですが、(B)になってしまい残念。
 (A)は使いかた次第ではウィルスになるので、若干怖くなりました。。ので、そのような動作をしているプログラムがないか、調べるTOOLを作ってみようか。。と、思っている次第です。


最新の画像もっと見る

コメントを投稿