現在、私はウイルス対策製品の基本的なシグネチャ検出をバイパスする方法を検討しています。今は0x00で埋め尽くしてファイルを分割しようとしています(おそらくNOPは良いでしょうか?)しかし、これを行う方法を理解できません。私は、基本的な検出を回避するためにバイナリの難読化を自動化するための非常に単純なPythonスクリプトを書いています(私の論文の一点を証明するために)。これが最後のスニペットです。Python - 読み込まれた各16進バイトの0x00でバイト配列を書き換えます。
これまでのところ、実行可能ファイルをbytearrayに読み込んだだけで、各16進値を読み込み、新しい配列に書き込んだり、0x00を書き込んだり、次の16進値を最初の配列と続けます。
Example
a = 54 68 69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F 74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20 6D 6F 64 65 (DOS stub)
私はパッドに探しています/
b = 54 00 68 00 69 00 73 00 20 00 70 etc.
このついて行くの簡単な方法があり、以下の持っている各進値の間に00を挿入?
'[x in tのz(a、[0] * len(a))のxのt] 'これは? – timgeb
有効なPythonを投稿して、使用しているタイプについてヒントを得ることができますか? aとbは、python2の文字列か、python3のバイトか、整数のリストであるはずですか? bytestringの処理が2つの方法で異なるため、Python 2または3を使用しているかどうかを示すこともできます。 –