問題タブ [decompiling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - コンパイルされたJavaクラスを保護する方法は?
私は知っています、多くの同様の質問がここで尋ねられました。コンパイルされたJavaクラスを保護できるかどうかは尋ねていません。明らかに「いいえ、できません」と言うからです。Javaクラスを逆コンパイルから保護するための最もよく知られている方法は何ですか?この分野の研究論文や学術論文をご存知の場合はお知らせください。また、いくつかの方法やソフトウェアを使用したことがある場合は、経験を共有してください。どんな種類の情報も非常に役に立ちます。ありがとうございました。
c# - .NET アセンブリを逆コンパイルから保護するにはどうすればよいですか?
C# を使い始めて最初に学んだことは、最も重要なことでした。Reflector またはその他のツールを使用して、任意の .NET アセンブリを逆コンパイルできます。多くの開発者はこの事実を認識しておらず、私がソース コードを見せるとほとんどの開発者はショックを受けます。
逆コンパイルに対する保護は、依然として困難な作業です。私はまだそれを行うための迅速で簡単で安全な方法を探しています. コードを難読化したくないので、メソッド名は a、b、c などになります。Reflector またはその他のツールは、アプリケーションを .NET アセンブリとしてまったく認識できないはずです。私はすでにいくつかのツールについて知っていますが、それらは非常に高価です。アプリケーションを保護する他の方法はありますか?
編集:
私の質問の理由は、著作権侵害を防止するためではありません。競合他社が私のコードを読むのを止めたいだけです。私は彼らがそうすることを知っています、そして彼らはすでにそうしました。彼らは私にそうさえ言った。私は少し偏執的かもしれませんが、ビジネス上のライバルが私のコードを読んでいても気分が良くありません。
scala - ScalaクロージャはどのようにJavaオブジェクトに変換されますか?
私は現在、さまざまな言語でのクロージャーの実装を検討しています。ただし、Scalaに関しては、クロージャがJavaオブジェクトにどのようにマップされるかについてのドキュメントを見つけることができません。
Scala関数がFunctionNオブジェクトにマップされていることは十分に文書化されています。クロージャーの自由変数への参照は、その関数オブジェクトのどこかに格納する必要があると思います(たとえば、C ++ 0xで行われるように)。
また、scalacを使用して以下をコンパイルしてから、JDを使用してクラスファイルを逆コンパイルしてみました。
逆コンパイルされたソースには、Function1の匿名のサブタイプがあります。これは私のクロージャーであるはずです。ただし、apply()メソッドは空であり、匿名クラスにはフィールドがありません(クロージャー変数を格納する可能性があります)。デコンパイラーはクラスファイルから興味深い部分を取り出すことができなかったと思います...
今質問に:
- 変換が正確にどのように行われるか知っていますか?
- それがどこに文書化されているか知っていますか?
- 私が謎を解く方法について別の考えがありますか?
java - 行番号属性のない逆コンパイルされたクラスのJavaデバッグ
行番号属性なしでコンパイルされたサードパーティのJavaコード(ライブラリ)をデバッグする方法はありますか?このクラスにデバッガーをアタッチし(EclipseでJadClipseを使用して逆コンパイル)、メソッドエントリにブレークポイントを設定できますが、コードを1行ずつステップスルーすることはできません。
decompiling - 逆コンパイラとはどのように機能しますか?
それで、逆コンパイラーは本当にコンパイルされた/解釈されたコードのソースを与えるものですか?私にはそれは不可能に聞こえるからです。コンパイルされた場合、関数、変数、クラスなどの名前をどのように取得しますか。それとも私は定義を誤解していますか?それはどのように機能しますか?そして、それを作ることの背後にある一般的な原則は何ですか?
delphi - DeDe 定数を有効な宣言または他のインターフェイス抽出ツールに変換しますか?
DeDe を使用して、コンパイルできる API (インターフェイス) を作成しています。(厳密に言えば、ベンダーが 2 か月で D2010 バージョンを提供するのを待っている間、少なくともアプリをコンパイルすることができます...)
すべてのメソッドをスタブします。
Dede は次のような定数宣言を発行します。
これらをコンパイル可能なステートメントに変換するにはどうすればよいですか?
理論的には、実際の値はどこでも使用されているとは思えないので気にしませんが、サイズを正しくしたいと思います。これらは整数、LongInts、または ??? ですか?
DeDe の使用に関するその他のヒントは大歓迎です。
embedded - PIC用の16進デコンパイラ
PICマイクロコントローラーの問題に直面しました。
私はずっと前にマイクロコントローラーをプログラムしていて、関連するソースコードと回路図を失いました。次に、ポートの値を反転する必要があります。いくつかのNOTゲートを使用してこれを行うことはできますが、そうするのは非常に面倒です。または、プログラム全体を書き戻す必要があります。
PICCまたはMikroCにコードが戻ることは期待していません。理解しやすいアセンブリコードがあれば十分です。
それで、私がこの目的に使用できる優れたHEX逆コンパイラーの経験を持っている人はいますか?あなたの経験に基づいたコメントはありますか?:)
編集:デバイスPIC 16F84A
java - .jar ファイルを逆コンパイルするには?
重複の可能性:
Jar ファイル全体を逆コンパイルするには?
クラス、コード、およびそれがどのように設計されているかを見たいです。Netbeans でa を開こうとすると、開く.class
ことができないと表示されます。何か不足していますか?.jar ファイルの背後にあるコードを表示するにはどうすればよいですか?
c# - .NETアプリケーション全体を逆コンパイルすることは可能ですか?
.NETアプリは保護が難しいことを知っています。私はRedGateReflectorを使用しており、一般的に言えば、多くの.NETdllからソースコードを取得できることを知っています。
しかし、私の質問は-アプリケーション全体を逆コンパイルすることは実際に実行可能ですか?
つまり、実行可能なVSソリューションを作成して、海賊がF5キーを押すだけで、作成者が自分のマシンにいる場合とまったく同じ結果を得ることができるようにしますか?