知りたいこと
CTFのバイナリ解析の勉強を始めるにあたり、アセンブリ言語について知りたいと思いました。
アセンブリ言語はいくつか種類があると思うのですがどの種類がおすすめか、書籍など教えていただきたいです。
また各種類がどんなメリットがあるのか、どういう用途なのかということも教えていただきたいです。
ざっくりとした質問で申し訳ありませんが、回答いただければ幸いです。
現時点での知識
32bit版と64bit版があることくらい
バイナリ解析の知識はほとんどない
他の方が回答で書かれていますが、種類について。
まずCPUで違います。
32bit/64bitは昨今のCPUだと命令や動作モードの違いであって、言語の違いにはならないかもしれません。
例えばintel/amd x86系でいえば命令が違うだけで、同じモジュール内で書けます。32bit用のプログラムでもアセンブリ言語では64bitの命令が使えます。そういうのを切り替えるための低水準の言語なので。
後は処理系(コンパイラ)で変わります。基本的な書き方や、作法、疑似命令などが処理系により違うということです。
処理系といえば、C/C++などの言語の中にインラインで書く方式もあり、1モジュール丸ごとアセンブリ言語という形式は最近稀かもしれません。
最近の質問はやたら最初からオススメとかメリットとか聞いてきたり、首を傾げたくなる質問が多いですが、まずは自分で調べましょう。世の中何もかもゲームのように最適化された攻略法があるわけではありません。ほとんどが未開拓の土地を自力で探検していくようなことばかりです。まず調べてみて、これは王道がありそうだと思ったら、そのキーワードで知識を広げ、不明点のみを聞くようにしてください。
一応自分では調べてわからないので質問しましたが全く調べ足りていないようでした。
雑な質問をしてお時間とらせてしまい大変申し訳ございませんでした。
また丁寧に種類について説明してくださりありがとうございました。
回答3件
あなたの回答
tips
プレビュー