問題タブ [obfuscation]

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.

0 投票する
7 に答える
38735 参照

python - Python コードの難読化

Pythonコードを難読化するのに役立つツールを知っていますか?

0 投票する
1 に答える
1569 参照

.net - 市販の難読化ツールはどのようにして .net Reflector と ILDASM をクラッシュさせますか?

一部の商用難読化ツールは、 ILDASM (および Reflector などの他の同様のツール)をクラッシュさせることができると主張しています。

彼らがそれをどのように達成するかについて何か考えはありますか?

ここの多数のスレッドで述べられているように、十分な動機/時間/スキルを持つ人は常にコードを読み取る方法を見つけます (つまり、実行可能であれば、逆コンパイル可能です)。 Reflector がそれを実行できない場合は、コードを作成してください。

私の IP に対するこのレベルの保護 (つまり、私が投げるすべてのトリックを回避する方法をおそらく見つけるハードコアな人以外の誰に対しても保護される) は、私にとって間違いなく十分です。

0 投票する
7 に答える
10536 参照

c# - 公開時にソースコードを難読化する(C#)

私たちは、お客様に公開されている多くの製品に取り組んでいます。ただし、C#アプリケーションを公開する場合は、リフレクターなどを使用してすべてのdllを逆コンパイルできます。

公開時にdllを暗号化する簡単な方法があるかどうか疑問に思いました。このようにして、クライアントがコードを逆コンパイルすることを心配することなく、dllを公開できます。

ps:これをビジュアルスタジオに統合することができれば、それは素晴らしいことです。

編集:二重投稿について申し訳ありませんが、それが「難読化」と呼ばれていることを知りませんでした。

0 投票する
5 に答える
655 参照

javascript - 無料/オープンソースの JavaScript-to-JavaScript 圧縮コンパイラ (Google のような) はありますか?

JavaScript を使用した Google ページのソースを見ると、JavaScript が明らかに読めない、つまり保守できないことがわかります。たとえば、すべての変数と関数は 1 文字の名前になっています (少なくとも、最初の 26 個は...)。不要な空白や改行はありません。コメントはありません。等々。

このコンパイラの利点は明らかです。ページの読み込みが速くなり、JavaScript の実行が速くなり、さらに、難読化されたコードを競合他社が理解するのに苦労することになります。

明らかに、Google はある種の JavaScript から JavaScript への圧縮コンパイラを使用しています。彼らが使用しているのは社内ツールなのだろうか?そうでない場合、彼らは何使用していますか? その種の公的に利用可能な (理想的には無料/オープンソースの) ツールはありますか?

0 投票する
4 に答える
2372 参照

.net - ネットリアクター&クリックワンス展開

VB.NET .exe をビルドした後、その出力が VS2005 展開プロジェクトに含まれる前に、サードパーティの .NET Reactor ユーティリティを使用して難読化されます。クリック ワンスを使用して公開する前に、.exe をスクランブル バージョンに置き換える方法はありますか?

ネットリアクターで保護されたアプリケーションであるワンクリックでデプロイできた人はいますか?

0 投票する
8 に答える
3213 参照

c# - コードをリバース エンジニアリングから保護する

同様の質問hereおよびhereで説明されているように、コードをリバース エンジニアリングから保護したいと考えています。

私の状況は、Simucalが彼の (優れた) 回答で説明しているとおりです。

基本的に、ソース盗難の標的になる唯一の可能性は、ドメインに関連する非常に具体的でエンジニアリングが難しいアルゴリズムを持っている場合であり、それによって競合他社に有利になります. これは、アプリケーションのごく一部のリバース エンジニアリングを試みることが費用対効果の高い唯一の機会です。

私はまさにこの状況です。特定のドメインにとってエレガントで価値のある、設計が難しいアルゴリズム。

微調整と開発に何ヶ月も費やした結果、非常にコンパクト (約 100 行のコード) で洗練されたものになりました。コードのこの特定の部分をリバース エンジニアリングから保護するか、少なくとも合理的に困難にしたいと考えています。

このシナリオは、C# で記述されたリッチ クライアント アプリケーションであり、コードのこの部分をデプロイする必要があります。Web サービスから実行することはできません。

コードを抽出してアンマネージ ネイティブ バイナリに書き直すことは、パフォーマンス上の理由 (および境界を越える問題) のため、オプションではないと思います。

最初は単純な難読化を行いたかったのですが、コードのサイズが小さいため、これでは十分な保護が得られないと思います。

理想的には、アプリケーション全体を保護したいと考えていますが、通常の難読化ツールやサード パーティのパッカーを使いにくくしていると思われる主な問題が 2 つあります。

  1. アプリケーションはプラグイン インターフェイスを提供するため、一部のアセンブリ (およびインターフェイス/クラス) を難読化してパックしないでください。

  2. エラー レポートを受け取ったときに、実際のスタック トレースを取得できるようにしたいと考えています。これは、実際のコードへのマッピングの難読化によって実現できる可能性があります。

これらの問題はさておき (これについてもご意見をいただければ幸いです)、コードのごく一部をリバース エンジニアリングから保護するにはどうすればよいでしょうか? 誰かがコードを変更したりハッキングしたりすることは気にしませんが、理解しにくくリバース エンジニアリングしたいと考えています。

0 投票する
6 に答える
1573 参照

iphone - iPhone アプリ バンドル内の HTML コードを暗号化および圧縮し、最初の起動時に解凍する

クライアントは、IP を保護するために、iPhone バンドル内の医療書籍の HTML コードを暗号化/圧縮したいと考えています。

アプリ バンドル用にこのファイルを準備する適切な方法は何ですか? また、アプリの最初の起動時に復号化と解凍を行うには、どの補助ライブラリ (C、Obj-C) を使用する必要がありますか?

ファイルを ~/Documents にコピーしてから作業するのが最善の解決策のようです。考え?

0 投票する
3 に答える
12878 参照

c# - How do you hide an encryption key in a .NET application?

I'm developing an intranet application (C#) that uses some data (local to the web server) that we'd like to keep private. This data is encrypted (AES) using a legacy data repository. We can't totally prevent physical access to the machine.

Clearly, we're never going to have perfect security here. However, we want to make it as hard as possible for anyone to gain unauthorized access to the data.

The question is how best to store the key. Encrypting it based on some machine specific ID is an option, but that information would be readily available to anyone running a diagnostic tool on the machine.

Encoding it in the application is an option (it's a one off application). However, .NET assemblies are pretty easy to decompile. So, would it be best to obfuscate it, use an encryption launcher, compile it?

Or is there an option I'm missing?

Just so we're clear, I know it's pretty much a lost cause if someone is determined, but we're looking to make it as hard as possible within the constraints.

0 投票する
0 に答える
5968 参照

.net - .NETアプリケーションの保護

複製:

リバースエンジニアリングからの.NETコードの保護

最近、小さなアプリケーションをリリースしましたが、今週末Piratebay、登録チェックが削除されたひびの入ったバージョンが見つかったため、アプリは登録済みバージョンであるかのように実行されました。

コード難読化ツール(回避するのはそれほど難しいことではないようです)を使用する以外に、.NETアプリケーションの解読をより困難にするために行うべき標準的なことはありますか?

0 投票する
4 に答える
5038 参照

obfuscation - 難読化されたアプリケーションがウイルスのように見えるのを避ける方法はありますか

アプリケーションを難読化すると、アンチウイルスは難読化されたアプリケーションに対してウイルス警告を発します。

これを避けるにはどうすればよいですか?

Windows XP Professional で Visual Studio 2008 と .NET Reactor 3.9.8.0 を使用しています。

Windows とアプリケーションは最新であり、ウイルス対策は完全なスキャンを実行しても何も検出しません。

編集: アバスト アンチウイルスがアラートを出します。MS Forefront にはありません。

編集 2: 制御フローの難読化レベルを変更すると修正されました。