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

ページの作成:「'''逆コンパイル'''(英語: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ファイル]]