MetaTrader 5向けMD5クラウドデクリプターの活用法

Mike 2015.05.06 02:05 27 0 0
添付ファイル

今回は、MD5ハッシュを解読するためのクラウドデクリプターの使い方について紹介します。このツールは、エージェントからのカスタムデータフレーム転送メカニズムを活用し、ブルートフォース検索を行います。

MD5ハッシュからパスワードを検索するタスクがリモートエージェントに送信され、見つかったパスワードがメインターミナルの「エキスパート」ウィンドウに表示されます。また、計算ネットワークの速度特性や進捗状況もリアルタイムで表示されます。


テストしたMD5ハッシュ「ab4f63f9ac65152575886860dde480a1」は、わずか数秒で6文字のパスワード「azerty」として見つかりました。


このプログラムは、非線形かつ非数値の入力パラメータを数値カウンターに仮想化する原理も示しています。これを実現するために、ブルートフォース検索で「使用しない」フラグを設定し、「Counter」という作業カウンターを追加します。これはプログラムで制御されます。

//--- 入力パラメータ
sinput int                 PasswordLengthFrom   =6;                          // パスワードの長さ(最小)
sinput int                 PasswordLengthTo     =6;                          // パスワードの長さ(最大)
sinput BruteForceEnumType  BruteforceType       =BRUTEFORCE_SET_ASCII_DIGITS;// ブルートフォース攻撃の文字セット
sinput string              BruteforceCharacters ="";                         // ブルートフォースカスタム文字セット

sinput HashEnumType        HashType=HASH_TYPE_SINGLE;                        // ハッシュタイプ
sinput string              HashList="ab4f63f9ac65152575886860dde480a1";      // azertyのハッシュソース
                                                                                     // MD5ハッシュまたはファイル名(1行に1ハッシュ)
sinput long                Counter=0;

ハイブリッドマスターモードを使用することで、リモートおよびローカルエージェントのコピーに加えて、ターミナル内で1つのEAのコピーを実行できます。これにより、以下のことが可能になります:

  • リモートエージェントの管理とタスクの配布
  • リモートエージェントからのデータフレームの受信
  • 受信したデータの処理、保存、またはチャートへの視覚化

上のスクリーンショットは、マスターEAが計算ネットワーク内でのブルートフォース検索速度を成功裏に視覚化していることを示しています。

マスターモードを有効にするには、EA内にOnTesterInitハンドラを追加し、すべての入力パラメータを読み取り、線形カウンターに変換し、任意の入力変数の操作モードを明示的に再定義できます。以下のコードは、非数値/非線形パラメータをダブルカウンターに変換し、新しい制限を設定し、数値カウンターパラメータの操作モードを示しています:

void OnTesterInit()
  {
   double passes=0.0;
//--- 制限を計算
   if(!ExtScanner.CalculatePasses(PasswordLengthFrom,PasswordLengthTo,BruteforceType,BruteforceCharacters,passes))
      return;

   ParameterSetRange("Counter",true,0,0,1,1+long(passes/MIN_SCAN_PART));
}

Counterパラメータは最初はロックされていましたが、その後、明示的な制限を持つアクティブな作業カウンターとして再定義されました。これにより、テスターはこの特定のパラメータで動作します。

リスト
コメント 0