12

非常に古い MSDos ベースのペイント プログラムがいくつかあります。これらは、パレット インデックス付きのイメージ バッファで動作します。それらには、現代のどのペイント プログラムにも存在しない、数多くの見事な形状描画ツール、ブラシ、および効果があります。dosbox のようなエミュレーターを起動しなくても、これらの素晴らしいツールの多くを最新のプログラムで再現したいと考えています。しかし、私には問題があります。

これらのブラシやツールなどの多くには明らかな機能がありますが、その実装はかなり簡単です。しかし、他のツールでは、その操作の原則はそれほど明白ではありません。それらを実装するための正しいまたは忠実なアルゴリズムを決定するのに行き詰まります。

あなたが私だったら、どのようなアプローチをとりますか?このような古いプログラムを処理できる逆コンパイラ/逆アセンブラはすぐに利用できますか? それとも、さまざまな入力でアルゴリズムを体系的にテストして、基になる関数を推測するなど、別のアプローチを採用しますか? さまざまなテクニックの組み合わせ?これらのプログラムの 1 つの行の場合、これらの (商用) プログラムの元の作成者はわかっており、現在では熱狂的なオープン ソースの支持者です。直接連絡して聞いてみるしかないでしょうか?私はリバース エンジニアリングの経験が特にないので、どこから始めればよいか途方に暮れています。

編集:「尋ねると受け取る」は本当にうまくいくようです。

編集 2:ソースを入手したプログラムのソース コードについては、http ://animatorpro.org を参照してください。デラックス ペイントもいいですが、ダン シルバは地球上から姿を消したようです。

4

2 に答える 2

6

IDA Pro はほぼすべてのバイナリを処理し、この種の作業のゴールド スタンダードですが、作成者に連絡することも役立つ場合があります。

于 2009-03-27T01:59:11.320 に答える
6

プログラムの一部または全部をオープンソース化するよう作者を説得できれば、それが最善の方法です。

それを超えて、逆アセンブルとデバッグはあなたの友達になるでしょう。場合によっては、最初に何を使用してコンパイルされたかがわかっていれば、ソフトウェアを逆コンパイルできる場合があります。しかし、それを逆アセンブルし、デバッガーで実行して包括的な構造を見つけ、実際のブラシ作業を行う明白な関数を探します。

最初は難しそうに見えるかもしれませんが、しばらくすると驚くほど理解できるようになります。

-アダム

于 2009-03-27T02:01:17.290 に答える