「逆コンパイル」の版間の差分
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ファイル]] | |||