「逆コンパイル」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | '''逆コンパイル''' | + | '''逆コンパイル'''([[英語]]: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)とは、機械語や中間コードを人間が読みやすい高級言語のソースコードに変換することを言う。
アセンブリ言語などの低級言語に変換する場合は「逆アセンブル」と呼ばれる。
変換するツールは「逆コンパイラ」と呼ばれる。
かつては逆コンパイラの性能が悪く「なんとなくアルゴリズムの概要がわかる」くらいのものであったが、 最近は逆コンパイラの技術が飛躍的に向上し、非常に可読性の高くなったうえに、コンパイルと逆コンパイルを利用してオリジナルとは別のプログラミング言語のソースコードに変換することも可能になっているものもある。
関連項目編集
- プログラマブルシェーダー関連
- DirectX Shader CompilerでSPIR-Vを出力する
- SPIR-VからGLSLを生成する
- SPIR-VからHLSLを生成する
- MacにMoltenVKを入れてVulkanを使ってみる
- .NET / Mono
- Java
- Android