+321 123 4567
info@test.com
My Account
Forex Lab
  • Главная
  • Софт
  • Стратегии
  • Брокер
  • Блог
  • Item A
    • Sub item A1
    • Sub item A2
  • Item B
    • Sub item B1
    • Sub item B2
  • Item C
    • Sub item C1
    • Sub item C2

Защита советника

В принципе, взломать можно все. Даже Майкрософт с армией профессиональных программистов не может защитить свой продукт от взлома. Будет ли взломана Ваша программа, зависит от соотношении ее ценности и затрат на взлом (стоимость, время).
Если проще взломать программу чем купить, и она того стоит, то она будет взломана.

Цели защиты программ могут быть разные, применительно к торговле это может быть:
— Привязка программы к конкретному счету, человеку, брокеру.
— Демо-версия советника для ознакомления с потенциальными покупателями, которая работает только на демо-счете.
— Ограничение работы советника по времени. После демо срока программа перестает работать.

Принцип работы почти всех способов защиты – это сравнение двух параметров (пароль, время, номер счета и тд.). Одно из значений стараются запрятать в какое-то потаенное место, сохраняется в реестре windows, скрытом файле или в самом советнике. В процессе проверки сравнивается со вторым (пароль, счет и тд.) и если значение совпадают, разрешается работа программы.

Примеры некоторых из простых способов защиты программ написанных на MQL4.

int start()
 {
  if(IsDemo() == false)// советник работает только на демо счете
   {
    Alert("Реальный счет... советник не работает");
    return(0);
   }
  if(AccountNumber() != 12345)  // привязка советника к конкретному торговому счету
   {
    Alert("Неверный счет... советник не работает");
    return(0);
   }
  if(AccountName() != "Ivanov")  // проверка на кого зарегистрирован счет
   {
    Alert("Неверный пользователь счета... советник не работает");
    return(0);
   }
  if(AccountCompany() != "Alpari NZ Limited")  // привязка советника к конкретному брокеру
   {
    Alert("Не тот брокер... советник не работает");
    return(0);
   }
  if(TimeCurrent() > StrToTime("2014.8.12 17:35"))  // ограничение роботы советника по времени
   {
    Alert("Срок роботы советника истек... советник не работает");
    return(0);
   }
 }

Даже такие простые способы могут быть использованы в некоторых случаях. По крайней мере человек не разбирающийся в программировании и не имея нужного ПО, взломать не сможет.

Файл советника с расширением mq4 – это обычный текстовый файл, его можно создавать, открывать, редактировать и сохранять в обычном «блокноте».
Встроенный в терминал МТ4 редактор MetaEditor по сути тот же блокнот, только с подсветкой функций и зарезервированных слов языка MQL4. Язык программирования MQL4 создан для удобства человека, что бы программисту было проще писать код программы, машина этот код не понимает. После компиляции (кнопка компилировать) создается исполняющий файл с расширением ex4, код переводится с языка понятного человеку на язык понятный машине. Открыв этот файл, увидим сплошные «казяблики».

Но строки при компиляции не изменяются и среди «казябликов» можно найти Вашу строку – пароль. Что бы спрятать строку с паролем ее можно разбить на части, сохранять в разных местах программы а перед проверкой собирать. Строку также можно зашифровать.

Компьютер знает буквы под числовыми значениями. Например, а = 97, А = 65, b = 98, B = 66 и тд., поэтому строку можно собрать из символов:

string pass = CharToStr(104) + CharToStr(75) + CharToStr(83) + CharToStr(99) + CharToStr(54); // пароль -hKSc6
string N_Ak = CharToStr(49) + CharToStr(50) + CharToStr(51) + CharToStr(52) + CharToStr(53);  // номер счета - 12345
string Name = CharToStr(73) + CharToStr(118) + CharToStr(97) + CharToStr(110) + CharToStr(111) ) + CharToStr(118); // имя - Ivanov

Более сложную систему защиты, которая заставит взломщика попотеть, можно сделать во внешней библиотеке, написанной на другом языке программирования.

Глобальные переменные и «светофор» приправленные Мартингейлом — https://forexlab.ru/mql-variables-with-martingale/

Предыдущая запись
Глобальные переменные и «светофор» приправленные Мартингейлом
Следующая запись
Эпилог в изучении языка MQL4

Свежие записи

  • Как работают биржи: классификация, виды, особенности
  • Moving Average: описание, настройка, стратегии
  • Что такое Non farm payrolls
  • HQBroker: мошенники или честный брокер
  • Торговля на бирже для начинающих: полный гайд

Рубрики

  • CFD (2)
  • FOREX (14)
  • Meta Trader 5 (6)
  • MetaTrader 4 (13)
  • Price Action (9)
  • QUIK (2)
  • Акции (9)
  • Бинарные опционы (11)
  • Биржи (1)
  • Брокеры (5)
  • Волновой анализ (7)
  • Графический анализ (28)
  • Индикаторный анализ (36)
  • Криптовалюты (2)
  • Методы управления капиталом (11)
  • Новости проекта Forex Lab (2)
  • Объемы (10)
  • Основы торговли (7)
  • Подкаст (7)
  • Полезное (3)
  • Программирование (20)
  • Психология трейдинга (25)
  • Свечной анализ (2)
  • Скальпинг (1)
  • Технический анализ (19)
  • Торговые платформы (26)
  • Торговые стратегии и системы (73)
  • Фибо (11)
  • Фондовый рынок (27)
  • Фракталы (4)
  • Фундаментальный анализ (19)
  • Фьючерсы (20)

Представленная информация не является индивидуальной инвестиционной рекомендацией, ни при каких условиях, в том числе при внешнем совпадении ее содержания с требованиями нормативно-правовых актов, предъявляемых к индивидуальной инвестиционной рекомендации. Любое сходство представленной информации с индивидуальной инвестиционной рекомендацией является случайным.
Какие либо из указанных финансовых инструментов или операций могут не соответствовать Вашему инвестиционному профилю.
Упомянутые в представленном сообщении операции и (или) финансовые инструменты ни при каких обстоятельствах не гарантируют доход, на который Вы возможно рассчитываете при условии использования предоставленной информации для принятия инвестиционных решений.
Информационный портал ForexLab не несет ответственности за возможные убытки инвестора в случае совершения операций, либо инвестирования в финансовые инструменты, упомянутые в представленной информации.
Во всех случаях определение соответствия финансового инструмента либо операции инвестиционным целям, инвестиционному горизонту и толерантности к риску является задачей инвестора.
Не является образовательной деятельностью. Не сопровождается выдачей документов об образовании и (или) квалификации. При полном или частичном использовании материалов сайта ссылка на https://forexlab.ru/ обязательна.

© 2008-2020 Forex Lab

  • Главная
  • Политика
  • Авторские права
  • Согласие
  • Риски
  • Оферта