Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Советники

MD5 Cloud Decryptor - эксперт для MetaTrader 5

Просмотров:
3877
Рейтинг:
(36)
Опубликован:
2015.05.02 00:26
Обновлен:
2015.05.29 11:02
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Этот пример показывает принцип использования механизма передачи кастомных фреймов данных с агентов во время массового перебора паролей в задаче поиска MD5 хешей.

Удаленным агентам отсылаются блоки заданий по подбору пароля из MD5 хеша, а в ответ они присылают найденные пароли. Найденный пароль печатается в окне "Эксперты" основного терминала. В режиме реального времени показываются скоростные характеристики расчетной сети и прогресс выполнения.


Тестовый MD5 хеш "ab4f63f9ac65152575886860dde480a1" за пару секунд нашелся в виде 6 символьного пароля 'azerty'.


Другой особенностью программы является демонстрация принципа виртуализации входных нелинейных и нечисловых параметров в числовой счетчик. Для этого всем входным параметрам ставим флаг sinput "не участвует в переборе" и добавляем рабочий счетчик под именем Counter, который и будем крутить программно:

//--- input parameters
sinput int                 PasswordLengthFrom   =6;                          // Password Length From
sinput int                 PasswordLengthTo     =6;                          // Password Length To
sinput BruteForceEnumType  BruteforceType       =BRUTEFORCE_SET_ASCII_DIGITS;// Bruteforce Attack Charset 
sinput string              BruteforceCharacters ="";                         // Bruteforce Custom Charset 

sinput HashEnumType        HashType=HASH_TYPE_SINGLE;                        // Hash Type
sinput string              HashList="ab4f63f9ac65152575886860dde480a1";      // Hash Source of azerty
                                                                             // MD5 hash or filename (1 hash in line)
sinput long                Counter=0;


Используя гибридный мастер режим эксперта, который позволяет запускать одну копию эксперта на самом терминале в дополнение к копиям на удаленных и локальных агентах, мы можем:

  • управлять удаленными агентами, раздавая им задания
  • получать фреймы данных от удаленных агентов
  • обрабатывать полученные данных, сохранять их или визуализировать на графике

На скриншоте выше видно, что мастер эксперт успешно визуализирует скорость перебора паролей в расчетной сети.

Чтобы активировать мастер режим, нужно добавить в эксперта обработчик OnTesterInit, где можно прочитать все входные параметры, преобразовать их в линейный счетчик  и явным образом программно переопределить режим работы любой входной переменной. В коде ниже показан способ преобразования нечисловых/нелинейных параметров в double счетчик с последующей установкой новых пределов и режима работы числового параметра Counter:

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 был заблокирован, но затем он был программно переопределен как активный рабочий счетчик с явными пределами. Это означает, что тестер будет перебирать именно этот параметр.

Bezier_HTF Bezier_HTF

Индикатор Bezier с возможностью изменения таймфрейма индикатора во входных параметрах.

BBflat_sw_HTF BBflat_sw_HTF

Индикатор BBflat_sw с возможностью изменения таймфрейма индикатора во входных параметрах.

Gaus_MA_StDev Gaus_MA_StDev

Индикатор Gaus_MA с дополнительной индикацией силы тренда цветными точками на основе алгоритма стандартного отклонения.

ATRratio_HTF ATRratio_HTF

Индикатор ATRratio с возможностью изменения таймфрейма индикатора во входных параметрах.