「逆コンパイル」の版間の差分

提供:MonoBook
ページの作成:「'''逆コンパイル'''(英語:decompile)とは、機械語中間コードを人間が読みやすい高級言語ソースコードに変換…」
 
編集の要約なし
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
'''逆コンパイル'''(英語:decompile)とは、[[機械語]]や[[中間コード]]を人間が読みやすい[[高級言語]]の[[ソースコード]]に変換することを言う。
'''逆コンパイル'''([[英語]]:decompile)とは、[[機械語]]や[[中間コード]]を人間が読みやすい[[高級言語]]の[[ソースコード]]に変換することを言う。


[[アセンブリ言語]]などの[[低級言語]]に変換する場合は「[[逆アセンブル]]」と呼ばれる。
[[アセンブリ言語]]などの[[低級言語]]に変換する場合は「[[逆アセンブル]]」と呼ばれる。
5行目: 5行目:
変換するツールは「[[逆コンパイラ]]」と呼ばれる。
変換するツールは「[[逆コンパイラ]]」と呼ばれる。


最近は逆コンパイラの技術が向上し、非常に可読性の高いものが多い。
かつては逆コンパイラの性能が悪く「なんとなく[[アルゴリズム]]の概要がわかる」くらいのものであったが、
最近は逆コンパイラの技術が飛躍的に向上し、非常に可読性の高くなったうえに、[[コンパイル]]と[[逆コンパイル]]を利用してオリジナルとは別の[[プログラミング言語]]の[[ソースコード]]に変換することも可能になっているものもある。
 
== 関連項目 ==
; プログラマブルシェーダー関連
* [[DirectX Shader CompilerでSPIR-Vを出力する]]
* [[SPIR-VからGLSLを生成する]]
* [[SPIR-VからHLSLを生成する]]
* [[MacにMoltenVKを入れてVulkanを使ってみる]]
 
; .NET / Mono
* [[monodis]]
* [[ILSpy]]
* [[dotPeek]]
 
; Java
* [[Java Decompiler]]
* [[jad]]
 
; Android
* [[dexファイル]]
* [[apkファイル]]

2019年11月6日 (水) 00:59時点における最新版

逆コンパイル英語:decompile)とは、機械語中間コードを人間が読みやすい高級言語ソースコードに変換することを言う。

アセンブリ言語などの低級言語に変換する場合は「逆アセンブル」と呼ばれる。

変換するツールは「逆コンパイラ」と呼ばれる。

かつては逆コンパイラの性能が悪く「なんとなくアルゴリズムの概要がわかる」くらいのものであったが、 最近は逆コンパイラの技術が飛躍的に向上し、非常に可読性の高くなったうえに、コンパイル逆コンパイルを利用してオリジナルとは別のプログラミング言語ソースコードに変換することも可能になっているものもある。

関連項目[編集 | ソースを編集]

プログラマブルシェーダー関連
.NET / Mono
Java
Android