簡単なウイルス除去剤を作成しようとしています。私が開発したアルゴリズムは、次のことを目的としています。
- 元のファイルと感染したファイルを検査します
- 感染したファイルからウイルスを分離します
- ウイルスに感染した他のファイルを修復するために同じアルゴリズムを使用する
これはパッチの作成方法と同じであるため、これが可能であることはわかっていますが、これをどのように行うかについては少し迷っています。
周りに何か助けはありますか?
単にパターンマッチングを実行して分離されたウイルスコードを削除するよりも多くのインテリジェンスを配置する必要があります。
あなたが狙っているウイルスは、私たちの時代にはめったに使用されないファイル感染者です。ほとんどの場合、レプリケーションプロセスは次のとおりです。
ファイルの駆除は、アンチウイルスにとって最も難しい部分です。ウイルスコードの品質に依存します。バグがある場合、ホストファイルは回復不能になります。
いずれにせよ、あなたは逆アセンブラー(IDA、PE Explorer ...)とデバッガーがあなたの最愛の友達になる機械命令の世界に入っています。
2つのファイルを区別します。基本的な考え方は、元のファイルと感染したファイルを1文字ずつ比較し、データ構造に矛盾が生じるまで保存することです。その後、将来的には、他のファイルで違いのコレクションであると仮定される「ウイルス」を探し、「ウイルス」を削除することができます。
これに関する唯一の問題は、「ウイルス」とは関係のない2つのファイルの間におそらく不一致があることです。たとえば、感染したファイルは、ウイルスとは関係のない元のファイルとは異なる方法で変更されています。
編集***ウイルスについて他のファイルをチェックすることはそれほど難しいことではありませんが、私はあなたがいくつかのプレーンテキスト形式のファイルを扱っているという仮定の下で実行しています。ウイルス"。