プロが教えるわが家の防犯対策術!

アセンブリプログラムに使いたいライブラリのバイナリデータは加えて、アセンブルして実行ファイルは得られるのでしょうか?
あるいは、ライブラリをアセンブリプログラムに変換してから加えてアセンブルして実行ファイルを得る方法もあるのでしょうか?

どうかよろしくお願い致します。

A 回答 (1件)

逆アセンブラの質問の時にも感じたのですが、アセンブリ言語について大きな(根本的な)誤解があります。



アセンブリ言語は、機械語と呼ばれるCPUが直接解釈実行可能な一連の命令群のデータを人間にも理解できるようした言語で、機械語に次いでCPUよりの言語です。

アセンブリ言語は、C, Java, Perl, Ruby等の人間が比較的理解しやすく、対象のCPUへの依存度を極力減らしたプログラミング言語とは真逆に位置する言語です。

それに、多種多様なCPUが存在する今日、アセンブリ言語を多種多様なCPUに対応した機械語に変換するアセンブラはありません。

[アセンブリ言語]
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%BB …

[機械語]
https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0 …

>アセンブリプログラムに使いたいライブラリのバイナリデータは加えて、アセンブルして実行ファイルは得られるのでしょうか?

そのようなことはできません。

どのようなプログラミング言語であれ、プログラミング言語で作られたソースコードのフォーマットは、基本テキストフォーマットです。
よってライブラリのバイナリデータをプログラミング言語で作られたソースコードに直接埋め込むことはできません。

>あるいは、ライブラリをアセンブリプログラムに変換してから加えてアセンブルして実行ファイルを得る方法もあるのでしょうか?

そのようなことはできません。

ライブラリとは、個々のプログラミング言語が持つ、その言語内でのみ汎用的に使用できるようにしたソースコード群(貯蔵庫)です。
よって、特定言語のライブラリをアセンブリ言語のソースコードに変換する手段もないですし、仮にアセンブリ言語のソースコードに変換できたとしても、そのソースコードをそのまま使うことはできません。

[標準ライブラリ]
https://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96 …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!