2012-01-20 9 views
2

リバースエンジニアリングの悪用者の専門知識を得るためにアセンブリ言語を学ぶことを考えています。私の質問は、市場で入手可能な洗練されたデコンパイラがあるときにリバースエンジニアリングのためのアセンブリ言語を学ぶことが価値があるかどうかである(六線からのデコンパイラは、私が聞いたことから非常に良い)。リバースエンジニアリングとデコンパイル

逆コンパイルでは元のコードは再現されませんが、アセンブリ言語でのコードの理解の複雑さは軽減されます。ですから、アセンブリコードを見てリバースエンジニアリングを試みる強い理由はありますか?

ありがとうございました。

+0

マルウェアをリバースエンジニアリングするには、組み立てにはかなり良いはずです。私は、私が読むことができるよりも速くasmを読むことができる人物を知っていた。 – ninjalj

+1

アセンブリコードは、あなたの心配の中で最も少ない。私は妹の会合を教えることができました。最大の問題は、制御フローとデータフローを解読することです。とにかくこれについて真剣なら、組立を学ぶだけです。あなたの質問を逆にするには、どうして*アセンブリの学習を避けるのですか? – harold

答えて

8

マルウェアをリバースエンジニアリングするには、アセンブリ言語を理解する必要があります。 まず、マルウェアを作成する人は、デコンパイラをブロックするのにかなり良いです。 また、元のコードがアセンブリに書き込まれていれば、高レベルのソースに逆コンパイルされません。特に最適化されている場合。

+1

それはまったく逆コンパイルされません。 – ninjalj

+3

また、デコンパイルすると、その結果が次の国際難読化Cコードコンテストに勝つ可能性があります。 –

5

これについては、アセンブリを学ぶことが絶対に必要です。デコンパイラ(16進線)は理解を向上させるのに非常に優れていますが、自己改変およびエンコードされたマルウェアの大部分は、アセンブリで最初に記述されたデコーダを含んでいます。したがって、それをより高いレベルの言語に逆コンパイルすることは非常に困難です。

関連する問題