逆コンパイル・難読化
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>その他、開発の色々]]
* 目次 [#yca526e4]
#contents
*概要 [#pc92485a]
逆コンパイル・難読化などの質問が稀にあるため。
*詳細 [#e486fa82]
難読化ソリューションは、
-実行時コンパイラや
-スクリプト言語が
出てきて、必要になってきたんじゃないでしょうか?
**逆コンパイラ [#e68eca22]
***C言語 [#k8ee3835]
C言語のプリプロセッサに通した後のコードは≒リバースできな...
-奇跡的に C/C++ の逆コンパイラを手に入れられたとしても~
それが吐き出すソースを理解できる可能性は全くない。
-C++ の逆コンパイラは C よりもはるかに困難 (事実上不可能)
※ 機械語自体を読む人がいるかも知れないので、保護したいレ...
***スクリプト言語 [#n9bc4050]
-スクリプト・ファイルがそのまま動く。
-インタプリタでソースコードを、機械語プログラムに解釈・変...
***中間コードのある言語 [#x3a1bab8]
以下の理由で、逆コンパイルが容易であるケースが多いらしい。
-中間コードはネイティブコードに比べて命令の種類や複雑さが...
-逆コンパイルされ易い言語
--ガーベージ・コレクションやリフレクション機能のある言語
--その他、
---共用体が無い
---ポインタ演算・キャストの制限
---classに定義情報が含まれる。
---goto 文を禁止している
---, etc.
-言語毎のツール
--Java:~
JAD(Jad Decompiler)
--.NET:
---IL Disassembler(ildasm.exe)~
Visual Studioに付属
---.NET Reflector~
昔は無償で一択だったが、2011年の3月に有償化された。
---dotPeek~
ReSharperに付属
---ILSpy~
MITのOSSでスタンドアロンで利用可能。
---Telerik JustDecompile~
Telerik社製
---.NET CodeReflect~
**難読化 [#t30f2c96]
-難読化は単なる時間稼ぎに過ぎず、プログラムの逆コンパイル...
-商用の難読化ソリューションはソースコードの難読化やJavaや...
バイトコードの変換が大部分を占めるが、中にはコンパイルさ...
***C言語 [#da9f66e8]
そもそも、逆コンパイルができないので難読化も不要。
***スクリプト言語 [#ff1a5207]
そもそも、コンパイルがないので難読化もできない。
***中間コードのある言語 [#x255bef2]
-逆コンパイルが容易なため、難読化が必要になるケースもある。
-言語毎のツール
--Java:
---ProGuard
---JODE
---JavaGuard
---RetroGuard
---jarg
---yGuard
--.NET:
---ConfuserEx(無料)
---NanDoKu(無料)
---Phoenix Protector(無料)
---Dotfuscator(有料 – 簡易版有り)
---Eazfuscator.NET(有料 – 試用版有り)
---babelfor.net(Babel)(有料 – 試用版有り)
*参考 [#n2cfaeda]
-.NET Tools:.NET逆コンパイラとコードを難読化するDotfusca...
https://atmarkit.itmedia.co.jp/fdotnet/tools/dotfuscator/...
**逆コンパイラ [#p211d8d7]
-逆コンパイラ - Wikipedia~
https://ja.wikipedia.org/wiki/%E9%80%86%E3%82%B3%E3%83%B3...
-Cの逆コンパイラはどこまで実現可能か,Javaはなぜ逆コンパ...
http://www5d.biglobe.ne.jp/~noocyte/Programming/Decompile...
-既にコンパイルされたアセンブリをデバッグできる.NET Refle...
https://www.infoq.com/jp/news/2012/08/precompiled-net-ref...
-C#で作られたプログラムをデコンパイルしてみよう - ほげほ...
https://tyheeeee.hateblo.jp/entry/CS-Advent-Calendar-2014...
**難読化 [#maf6d7a1]
-難読化コード - Wikipedia~
https://ja.wikipedia.org/wiki/%E9%9B%A3%E8%AA%AD%E5%8C%96...
-.NETプログラムの難読化ツールの紹介と使ってみた感想~
https://rabbitfoot.xyz/code-obfuscation/
-ニュートン製品案内 Spices.NET JP~
(.NETアプリケーション難読化ツール/逆コンパイラ)~
https://www.newtone.co.jp/productsnjp00.html
-Dotfuscator の機能 - Visual Studio (Windows) | Microsoft...
https://docs.microsoft.com/ja-jp/visualstudio/ide/dotfusc...
----
Tags: [[:プログラミング]], [[:その他、開発の色々]], [[:.N...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>その他、開発の色々]]
* 目次 [#yca526e4]
#contents
*概要 [#pc92485a]
逆コンパイル・難読化などの質問が稀にあるため。
*詳細 [#e486fa82]
難読化ソリューションは、
-実行時コンパイラや
-スクリプト言語が
出てきて、必要になってきたんじゃないでしょうか?
**逆コンパイラ [#e68eca22]
***C言語 [#k8ee3835]
C言語のプリプロセッサに通した後のコードは≒リバースできな...
-奇跡的に C/C++ の逆コンパイラを手に入れられたとしても~
それが吐き出すソースを理解できる可能性は全くない。
-C++ の逆コンパイラは C よりもはるかに困難 (事実上不可能)
※ 機械語自体を読む人がいるかも知れないので、保護したいレ...
***スクリプト言語 [#n9bc4050]
-スクリプト・ファイルがそのまま動く。
-インタプリタでソースコードを、機械語プログラムに解釈・変...
***中間コードのある言語 [#x3a1bab8]
以下の理由で、逆コンパイルが容易であるケースが多いらしい。
-中間コードはネイティブコードに比べて命令の種類や複雑さが...
-逆コンパイルされ易い言語
--ガーベージ・コレクションやリフレクション機能のある言語
--その他、
---共用体が無い
---ポインタ演算・キャストの制限
---classに定義情報が含まれる。
---goto 文を禁止している
---, etc.
-言語毎のツール
--Java:~
JAD(Jad Decompiler)
--.NET:
---IL Disassembler(ildasm.exe)~
Visual Studioに付属
---.NET Reflector~
昔は無償で一択だったが、2011年の3月に有償化された。
---dotPeek~
ReSharperに付属
---ILSpy~
MITのOSSでスタンドアロンで利用可能。
---Telerik JustDecompile~
Telerik社製
---.NET CodeReflect~
**難読化 [#t30f2c96]
-難読化は単なる時間稼ぎに過ぎず、プログラムの逆コンパイル...
-商用の難読化ソリューションはソースコードの難読化やJavaや...
バイトコードの変換が大部分を占めるが、中にはコンパイルさ...
***C言語 [#da9f66e8]
そもそも、逆コンパイルができないので難読化も不要。
***スクリプト言語 [#ff1a5207]
そもそも、コンパイルがないので難読化もできない。
***中間コードのある言語 [#x255bef2]
-逆コンパイルが容易なため、難読化が必要になるケースもある。
-言語毎のツール
--Java:
---ProGuard
---JODE
---JavaGuard
---RetroGuard
---jarg
---yGuard
--.NET:
---ConfuserEx(無料)
---NanDoKu(無料)
---Phoenix Protector(無料)
---Dotfuscator(有料 – 簡易版有り)
---Eazfuscator.NET(有料 – 試用版有り)
---babelfor.net(Babel)(有料 – 試用版有り)
*参考 [#n2cfaeda]
-.NET Tools:.NET逆コンパイラとコードを難読化するDotfusca...
https://atmarkit.itmedia.co.jp/fdotnet/tools/dotfuscator/...
**逆コンパイラ [#p211d8d7]
-逆コンパイラ - Wikipedia~
https://ja.wikipedia.org/wiki/%E9%80%86%E3%82%B3%E3%83%B3...
-Cの逆コンパイラはどこまで実現可能か,Javaはなぜ逆コンパ...
http://www5d.biglobe.ne.jp/~noocyte/Programming/Decompile...
-既にコンパイルされたアセンブリをデバッグできる.NET Refle...
https://www.infoq.com/jp/news/2012/08/precompiled-net-ref...
-C#で作られたプログラムをデコンパイルしてみよう - ほげほ...
https://tyheeeee.hateblo.jp/entry/CS-Advent-Calendar-2014...
**難読化 [#maf6d7a1]
-難読化コード - Wikipedia~
https://ja.wikipedia.org/wiki/%E9%9B%A3%E8%AA%AD%E5%8C%96...
-.NETプログラムの難読化ツールの紹介と使ってみた感想~
https://rabbitfoot.xyz/code-obfuscation/
-ニュートン製品案内 Spices.NET JP~
(.NETアプリケーション難読化ツール/逆コンパイラ)~
https://www.newtone.co.jp/productsnjp00.html
-Dotfuscator の機能 - Visual Studio (Windows) | Microsoft...
https://docs.microsoft.com/ja-jp/visualstudio/ide/dotfusc...
----
Tags: [[:プログラミング]], [[:その他、開発の色々]], [[:.N...
ページ名: