0

私は小さな無料で使用できる 15kb のプログラムを取得し、その圧縮されていないバージョンを新しい exe に正常にダンプしました (サイズは約 56kb です) (オリジナルは UPX でパッケージ化されています)。次に、それを IDA Pro にロードしました。インポートが台無しになっていることを知らせるメッセージ (これは、インポート テーブルを修正するために OllyDump のオプションを使用した奇妙な原因です) この画面に移動しました

これはマシンコードですか? http://imageshack.us/a/img401/9302/68696520.png

これはアセンブリ コードですか、それともマシン コードですか? マシンコードではありませんが、これはアセンブリと見なされますか? これらの16進数で書かれたアセンブリファイルですか、それともデバッガの左側にあるものですか?

http://imageshack.us/a/img526/548/23865356.png

おい公開開始。おなじみのようです。

http://imageshack.us/a/img217/9457/62998986.png

これがマシンコードの場合。マシン コードを ASM コードに変換する方法はありますか? そして、ASM コードを取得した後、どのような可能性がありますか?

ソース コードに戻すことが非常に困難またはほぼ不可能である場合 (いくつかの Google 検索結果で述べられているように)、そもそもなぜ人々はプログラムを逆アセンブルするのでしょうか?

ここで理由を詳しく知りたいです。私が選んでいるコードは、私が熟練したプログラマーになることを目指している初心者であるため、学び、読みたいと思う本当にかわいい小さなプログラムであるため、これを行うように促されただけです。

4

1 に答える 1

2

アセンブリ言語 (ASM) です。

人々はプログラムを逆アセンブルして、その動作を確認します。十分な忍耐力があり、問題の CPU の言語を学べば、このコードを他のプログラミング言語と同じように読むことができます。かなりの練習が必要ですが、ASM を読んでプログラムがどのように機能するかを理解することは不可能ではありません。

特に一般的なコンパイラを使用してプログラムが生成された場合、適切な知識とツールがあれば、ソースコードに戻すことは完全に可能です。

于 2012-10-19T00:54:34.963 に答える