Enigma、Themida、VMProtectはどのようにして比較されますか?


1

すぐにソフトウェアをリリースする予定で、良いプロテクターを探しています。私の注目を集めた3つのものは、Enigma、Themida、VMProtectでした。私は多くのオンラインで検索したが、私は多くの比較を見つけることができませんでした。彼らはすべて似たような価格帯にありますので、それは大きな問題ではありません。私は彼らの主な違いが何であるか疑問に思いましたか?仮想化、文字列の暗号化、パッキングなど私はそれについて多くの情報を見つけることができませんでした。

すべての返信いただければ幸いです!ありがとう

  0

この質問は主に意見に基づいているため、投票を終了しました。 12 11月. 172017-11-12 15:00:29

  0

私は、機能の客観的な比較と個人的なopinonのビットを探しています 12 11月. 172017-11-12 15:32:30

  0

https://reverseengineering.stackexchange.com/questions/118/what-kinds-of-steps-can-i-take- to-make-my-c-application-hard-to-reverse-engi/119#119 12 11月. 172017-11-12 18:22:59

  0

私はそれを読んでいます。とにかくありがとう 12 11月. 172017-11-12 19:17:56

  0

tuts4youから[このスレッド](https://forum.tuts4you.com/topic/39732-vmprotect-vs-themida)をチェックしてください 12 11月. 172017-11-12 19:48:26

5

免責事項:私はこれらのソフトウェアのいずれかを作っている企業で働いていません。示されたすべての詳細は私の個人的な研究からです。

この比較には、私が個人的に所有している保護者、VMProtectとThemidaのみが含まれます。私はエニグマのライセンスを持っていないので、その保護機能についてはわかりません。

私はまた、どちらのライセンス機能も含まないため、彼らが採用している保護方法についてのみ説明します。

私たちを始めていただくために、単純なループ関数の「保護されていない」バージョンがあります。これは、両方のプロテクターが出力する内容を確認することで保護します。

VMProtect

VMProtectは3つの保護モードがあります。変異仮想化、および "ウルトラ"(両方の方法を組み合わせ)

変異は何をしてそれはそれを言う:それは0を変異させるアセンブリコードを自動解析するのが難しくなります。結果として生じる突然変異したコードは、コンパイルごとに大幅に変化する。一方

仮想のみ特別な仮想マシンを実行することができる特別なフォーマットにコードを変換します。次に、実際のコードが実行されるはずのVMを呼び出すための「スタブ」関数を挿入します。

このVMは多くのオーバーヘッドを挿入していることに注意してください。この方法を用いて保護した後、〜100kbの元のアプリケーションは約600kbまで増加した。 VMProtect内部のパッキング機能をオンにすると、サイズを小さくすることができます。デバッガが実行された、文字列の暗号化をしている場合は機能チェックにもあり

は、Themidaなど、コンピュータのハードウェアの一意の識別子、

をつかむ方法

ThemidaはVMPは少々異なって。 VMPの保護機能も同じですが、VMPにはそれとは多少異なる機能があります。 VMPが持っていないこれらの機能は、すべてのアプリケーションタイプで機能しないことに注意してください。

Themidaのの場合、の場合、VMPとは全く異なります。これは、各オペコードを具体的に変更するのではなく、多数のランダム操作をアセンブリに追加します。複数のVMアーキテクチャ:

Themidaの仮想化は、しかし、VMPにはない1つのクールな機能を持っています。 Themidaには、同じアプリケーションの内部に異なる仮想マシン(異なるアーキテクチャを使用する)を持つ機能があります。また、VMの異なる「スタイル」があります:いくつかの高速ですが、安全性の低い、などもちろん

、いくつかのより安全あまり高速では、これに伴う問題はかなり明白です:サイズ。すべての保護オプションが無効になっている保護されたアプリケーションは、元の〜100kbから約2MBです。幸運なことに、Themidaには、サイズを小さくするための梱包機能もあります。サイズを小さくすると、約1MBに縮小されます。

Themidaはまた、いくつかの他の機能があります:それは走った後、それはアセンブリをクリアし、「ClearCode」それが実行された後、それを実行時にコードを解読し、再暗号化、を「エンコード」、文字列の暗号化をコードの整合性をチェックする機能を備えています。適切に使用すれば

結論は

どちらの保護は非常に良いです。あなたが購入するのは、私ではなく、あなた次第です。あなたが保護したいアプリケーションに対して賢明に選択し、あなたが特に必要とする機能を知ることをお勧めします。

  0

ありがとうございます!私は友人のPCでこれらの2つのアプリケーションを使いこなしてきましたが、私は1つのことを理解することはできません。 sdkで文字列を暗号化するには?私はそれを理解していないようです。 13 11月. 172017-11-13 06:43:43

  0

私が正しい場合、VMProtectはVMProtectDecryptStringA/Wを、ThemidaはSTR_ENCRYPT_START/STR_ENCRYPT_ENDマクロを使用します。 13 11月. 172017-11-13 12:32:34

  0

このようなマクロを使用しますか?STR_ENCRYPT_START string example = "hello" STR_ENCRYPT_ENDまたはstring example = STR_ENCRYPT_START "hello" STR_ENCRYPT_END 13 11月. 172017-11-13 13:06:07

  0

また、VMを調べています。 vmsがthemidaとvmを保護するために使用すべき提案はありますか? 13 11月. 172017-11-13 13:11:04