2011-07-14 13 views

答えて

3

まあ、概念のいくつかは似ています。たとえば、すべてのプロセッサアーキテクチャには一時的な記憶領域を確保するためのレジスタがあり、それらのすべてに命令ポインタがあり、ほとんどすべてにスタックがあります。 私の経験では、x86(と32ビットを追加するよりも複雑なamd64もあります)を処理できるなら、ARM、z80、またはMIPSのようなより単純なアーキテクチャをすばやく処理できます。

IDAの無料版をすぐに手に入れたい場合や、Windowsの場合はOllydbgもあります。 Cで小さなプログラムを書いて、あなたが書いたものを逆アセンブルします。あなたはその方法でトンを学びます(それは私が自分自身を教えた方法です)。

x86には、IntelとAT & Tという2つの主要な構文構文があります。Linuxの人達はAT & T構文を使用する傾向がありますが、私はIntelを個人的に好みます。

+0

ありがとうございます。私はIDAが何であるか分かりませんが、Linux上でgdbを使って試してみました(これは本の「Hacking:The Art of Exploitation」で使われていたものです)。しかしアセンブリの部分を把握するのは非常に難しく、プログラミングにおいても非常に新しい。 私が尋ねた理由は、アセンブリが異なるプロセッサでは完全に異なる場合、到達不能なタスクのように思えたからです。 –

+0

完全に理解できます。 IDAは解散者です。あなたはそれで何も創造しませんが、理解のために遠くに行くでしょう。いいえ、私はそれらのために働いていません:)無料版があります、私は非常にコピーをつかんで、いくつかの簡単なプログラムを分解することをお勧めします。 – Josh

2

本当に特定のアセンブリ言語に依存します。 32ビットと64ビットのx86プロセッサの違いはあまりにも悪くはありませんが(余分なレジスタなど)、PC用の64ビットプロセッサと古いフリップ式携帯電話プロセッサの違いはかなり異なります。一般的には、ほとんどのコンセプトはかなりうまく翻訳されます。

0

これらは一般的に異なるよりも類似しています。 x86は、学習したい最後の命令セットです。その命令セットの大部分ではなく、かなり醜いものです。はい、あなたがそれを学ぶなら、他の人は本当に簡単ですが、最初に良い指示を学ぶ方が良いです。あなたの質問が示唆するように、あなたが1つまたは2つを知ったら、他のものは構文の問題です。 msp430は良い最初の命令セットであり、ハードウェアは超安価(5ドル以下)であるか、単にシミュレータを使用しています。メインラインのbinutilsでサポートされています。腕と親指は学ぶべき他の良い指示セットです。同様に、ハードウェアは安価で、約10ドルのコルテックス-M3ベース(サム/サム2のみのアーム命令なし)、40ドル以下のベースのアーム/サム(ノンサム2)はありません。

関連する問題