← К каталогу
Исходный код · ID 2348

atac_1.02.mqh

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный исходный код представляет собой библиотеку для MetaTrader 4, написанную на языке MQL4. Она содержит набор функций, предназначенных для верификации лицензии, продукта, номера счёта и срока использования на основе переданных закодированных кодов.

Функции библиотеки декодируют переданные строки с использованием встроенных средств шифрования платформы и сравнивают извлечённые данные с текущими параметрами торгового счёта, серверной датой или предоставленными пользователем значениями лицензии и продукта.

Библиотека не содержит настраиваемых входных параметров и предназначена для подключения другим программам MQL4 через директиву #include.

В библиотеке отсутствуют классы, методы и конструкторы; вся функциональность реализована через восемь глобальных функций.

Состав библиотеки

Классов: 0 · методов: 0 · конструкторов: 0 · деструкторов: 0 · отдельных функций: 8

Функции
Функция bool ATAC_ACCOUNT(string ATAC_CODE, int ATAC_ADMIN)

Проверяет, совпадает ли текущий номер счёта с закодированным значением из переданного кода.

Функция int ATAC_ACCOUNT_STRING(string ATAC_CODE, int ATAC_ADMIN)

Возвращает числовой номер счёта, извлечённый из закодированного кода.

Функция bool ATAC_DATA(string ATAC_CODE)

Проверяет, не истёк ли срок пользования на основе закодированной даты.

Функция string ATAC_DATA_STRING(string ATAC_CODE)

Возвращает дату до которой используется продукт, извлечённую из закодированного кода.

Функция bool ATAC_LIC(string ATAC_CODE, string ATAC_lic)

Проверяет, совпадает ли переданный код лицензии с закодированным значением.

Функция string ATAC_LIC_STRING(string ATAC_CODE)

Возвращает код или название лицензии из закодированного кода.

Функция bool ATAC_PRODUCT(string ATAC_CODE, string ATAC_product)

Проверяет, совпадает ли переданное имя продукта с закодированным значением.

Функция string ATAC_PRODUCT_STRING(string ATAC_CODE)

Возвращает код или название продукта из закодированного кода.

Получить полный код

Поиск по коду файла

#property library

bool ATAC_ACCOUNT(string ATAC_CODE, int ATAC_ADMIN)
{int ATAC_accNumber=AccountNumber();
string ATAC_keystr="";
int ATAC_ACC = 0;
uchar ATAC_src[],ATAC_dst[],ATAC_keyS[],ATAC_b64[];         
StringToCharArray(ATAC_keystr,ATAC_keyS,0,StringLen(ATAC_keystr));
StringToCharArray(ATAC_CODE,ATAC_src,0,StringLen(ATAC_CODE));        
CryptDecode(CRYPT_BASE64,ATAC_src,ATAC_keyS,ATAC_dst);
string ATAC_tot = CharArrayToString(ATAC_dst); 
string ATAC_Acc_code = StringSubstr(ATAC_tot,16);  
StringToCharArray(ATAC_Acc_code,ATAC_b64,0,StringLen(ATAC_Acc_code)); 
CryptDecode(CRYPT_BASE64,ATAC_b64,ATAC_keyS,ATAC_dst); 
ATAC_tot = CharArrayToString(ATAC_dst);
int ATAC_num_acc = StrToInteger(ATAC_tot) - ATAC_ADMIN; 
ATAC_ACC = ATAC_num_acc;
if (ATAC_ACC  == AccountNumber()) return(true); else return(false);}

int ATAC_ACCOUNT_STRING(string ATAC_CODE, int ATAC_ADMIN)
{int ATAC_accNumber=AccountNumber();
string ATAC_keystr="";
int ATAC_ACC = 0;
uchar ATAC_src[],ATAC_dst[],ATAC_keyS[],ATAC_b64[];         
StringToCharArray(ATAC_keystr,ATAC_keyS,0,StringLen(ATAC_keystr));
StringToCharArray(ATAC_CODE,ATAC_src,0,StringLen(ATAC_CODE));        
CryptDecode(CRYPT_BASE64,ATAC_src,ATAC_keyS,ATAC_dst);
string ATAC_tot = CharArrayToString(ATAC_dst); 
string ATAC_Acc_code = StringSubstr(ATAC_tot,16);  
StringToCharArray(ATAC_Acc_code,ATAC_b64,0,StringLen(ATAC_Acc_code)); 
CryptDecode(CRYPT_BASE64,ATAC_b64,ATAC_keyS,ATAC_dst); 
ATAC_tot = CharArrayToString(ATAC_dst);
int ATAC_num_acc = StrToInteger(ATAC_tot) - ATAC_ADMIN; 
ATAC_ACC = ATAC_num_acc;
return(ATAC_ACC);}

bool ATAC_DATA(string ATAC_CODE)
{datetime ATAC_accDATA=TimeCurrent();
string ATAC_keystr="";
uchar ATAC_src[],ATAC_dst[],ATAC_keyS[],ATAC_b64[];         
StringToCharArray(ATAC_keystr,ATAC_keyS,0,StringLen(ATAC_keystr));
StringToCharArray(ATAC_CODE,ATAC_src,0,StringLen(ATAC_CODE));        
CryptDecode(CRYPT_BASE64,ATAC_src,ATAC_keyS,ATAC_dst);
string ATAC_tot = CharArrayToString(ATAC_dst); 
string ATAC_Acc_code = StringSubstr(ATAC_tot,0,8);  
StringToCharArray(ATAC_Acc_code,ATAC_b64,0,StringLen(ATAC_Acc_code)); 
CryptDecode(CRYPT_BASE64,ATAC_b64,ATAC_keyS,ATAC_dst); 
ATAC_tot = CharArrayToString(ATAC_dst);
string ATAC_day = StringSubstr(ATAC_tot,0,2) ; 
string ATAC_mes = StringSubstr(ATAC_tot,2,2) ; 
string ATAC_god = StringSubstr(ATAC_tot,4,1) ;  
string ATAC_DDPRR = StringConcatenate("202",ATAC_god,".",ATAC_mes,".",ATAC_day);  
if (ATAC_accDATA < StringToTime(ATAC_DDPRR)) return(true); else return(false);}

string ATAC_DATA_STRING(string ATAC_CODE)
{string ATAC_accDATA="NONE";
string ATAC_keystr="";
uchar ATAC_src[],ATAC_dst[],ATAC_keyS[],ATAC_b64[];         
StringToCharArray(ATAC_keystr,ATAC_keyS,0,StringLen(ATAC_keystr));
StringToCharArray(ATAC_CODE,ATAC_src,0,StringLen(ATAC_CODE));        
CryptDecode(CRYPT_BASE64,ATAC_src,ATAC_keyS,ATAC_dst);
string ATAC_tot = CharArrayToString(ATAC_dst); 
string ATAC_Acc_code = StringSubstr(ATAC_tot,0,8);  
StringToCharArray(ATAC_Acc_code,ATAC_b64,0,StringLen(ATAC_Acc_code)); 
CryptDecode(CRYPT_BASE64,ATAC_b64,ATAC_keyS,ATAC_dst); 
ATAC_tot = CharArrayToString(ATAC_dst);
string ATAC_day = StringSubstr(ATAC_tot,0,2) ; 
string ATAC_mes = StringSubstr

Показано первые 50% кода (символов: 5838)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
583,80₽ ≈ $7.14