学ぶために取り組むことができる興味深いリバースエンジニアリングプロジェクトは何ですか?


ベストアンサー

これは非常に幅広い質問です。関心のある製品の種類によって異なります。

私が関わったリバースエンジニアリングの例を次に示します。

MichaelDurcanによるリバースエンジニアリングの方法に対する回答

ポータブルCMMやレーザースキャンなどの最新のリバースエンジニアリング技術はどのように機能しますか?

MichaelDurcanの回答方法に対する回答リバースエンジニアリングを学びますか?

回答

私はあなたがコンピュータサイエンスと低レベルプログラミングの専門家ではないと仮定するだけなので、答えはイエスです。それは非常に難しいことです。

プログラミング言語には2つの「レベル」があります。ハイとロー。高度なプログラミング言語は、一般的に非常に使いやすく、習得しやすいものです。それらは非常に人間が読める形式であり、実行するにはマシンによって「翻訳」される必要があります。高水準プログラミング言語の例としては、Javascript、R、Python、Javaなどがあります。

低水準プログラミング言語は習得が困難です。彼らは、コンピュータのメモリとプロセスがどのように機能するかをより深く理解する必要があります。かなり低レベルの言語の最もよく有名な例はCです。Cは非常に強力で、学ぶのがかなり難しいです。しかし、それは高級プログラミング言語よりも機械が理解できるものにはるかに近いものです。非常に低レベルのプログラミング言語はアセンブリです。アセンブリコードにはさまざまな種類がありますが、それらはすべて複雑で、煩わしく、非常に読みにくいものです。ただし、アセンブリコードはリバースエンジニアリングの主要な部分です。何かをリバースエンジニアリングすると、プログラムのアセンブリコードを表示/変更します。

アセンブリは基本的に母国語であることを理解する必要があります。プログラムを作成する場合、常にアセンブリコードが含まれています。コンパイラがコードをアセンブリに変換するか、インタプリタがリアルタイムで変換します。

これが基本的に意味することは、本当のプロのリバースエンジニアになるのは簡単だということです。あなたが本当にしなければならないのは、さまざまなタイプのアセンブリに堪能になり、Cでプログラミングする方法を学ぶことです。唯一の問題は、これら2つのことを行うのが難しいことです。

頑張ってください!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です