WIN API. Получение информации о диске. - страница 2

 
IgorM >>:
я бы не заморачивался с переписыванием всего WinAPI в скрипт, а сделал бы одну dll на Delphi / C++, где была бы одна реально полезная функция и куча защит и проверок и HDD и MAC и ...
полезная функция:

... и в MQL-коде всего одна строчка кода

if ( My_super_func == false ) return;

которая в декомпилере видна невооруженным глазом и также легко выбрасывается вместе с вашей крутейшей DLL ? :)))))

нет уж, если есть что защищать - то с защитой нужно морочится и морочится... иначе - зачем она нужна ;)

 
ForexTools >>:

... и в MQL-коде всего одна строчка кода

if ( My_super_func == false ) return;

которая в декомпилере видна невооруженным глазом и также легко выбрасывается вместе с вашей крутейшей DLL ? :)))))

нет уж, если есть что защищать - то с защитой нужно морочится и морочится... иначе - зачем она нужна ;)

Да. Действительно!

Любая защищённая библиотека, если в ней нет вычислений, бесполезна.
Да, и любую защищённую библиотеку можно сломать.
Вот, если бы часть вычислений делать на своём инетресурсе...
 
ForexTools >>:

... и в MQL-коде всего одна строчка кода

if ( My_super_func == false ) return;

которая в декомпилере видна невооруженным глазом и также легко выбрасывается вместе с вашей крутейшей DLL ? :)))))

нет уж, если есть что защищать - то с защитой нужно морочится и морочится... иначе - зачем она нужна ;)


ну начнем с того, что "Моя_супер_функция" в моем примере выглядит именно так, что бы любой мог понять то что там написано.
А если заморачиваться с защитой, я бы предложил следующее:
- выводим в dll любую математическую функцию которую Вы используете в своих расчетах, пример:
for(i = length; i >= 1 ; i--)
{
lengthvar = length + 1;
lengthvar /= 3;
tmp = 0;
tmp = ( i - lengthvar)*Close[length-i+shift];
sum[1]+=tmp;
}
в этом цикле есть прекрасный участок с простейшими арифметическими операциями: lengthvar = length + 1; lengthvar /= 3; выносите это в dll и вызов будет в виде:
lengthvar = My_super_func(length);
а в dll на Delphi посчитайте:
function My_Super_func(const len):double; export; stdcall;
begin
      Result:=(len+1)/3;
end;

ну и кто сумеет выкинуть My_Super_func ????

- можно рассмотреть вариант последовательной компиляции советника, а потом dll.После компиляции советника взять вычислить его хеш для файла *.ex4 и поместить в константу в свою dll при вызове своей dll обязательно проверять хеш своего советника и хеш константы. Даже незначительное изменение кода советника изменит контрольный хеш . Сразу отвечу: константу в dll можно хранить не в явном виде: MyHesh='8bf9a1f2c3a4f0964524d1aad658cd3b',а например в виде
MyHesh1='8bf9a1f2c3a4f'
MyHesh2='0964524d1aad658cd3b'
MyHesh=MyHesh1+MyHesh2
 
Zhunko >>:

Да. Действительно!

Любая защищённая библиотека, если в ней нет вычислений, бесполезна.
Да, и любую защищённую библиотеку можно сломать.
Вот, если бы часть вычислений делать на своём инетресурсе...


ну а про свой интернет ресурс: Вы сможете гарантировать, что Ваш интернет ресурс будет доступен всегда? А то бывает так, что домен закончился, а оплачивать некому :)
а взлом чужой dll, уж поверьте моему опыту - утомительное занятие, я этим занимался пару лет назад - успех взлома - сомнительное занятие
 
IgorM >>:


ну а про свой интернет ресурс: Вы сможете гарантировать, что Ваш интернет ресурс будет доступен всегда? А то бывает так, что домен закончился, а оплачивать некому :)
а взлом чужой dll, уж поверьте моему опыту - утомительное занятие, я этим занимался пару лет назад - успех взлома - сомнительное занятие

IgorM напиши хоть пример как вытащить ID винта в виде библиотеки и как её применить в MQL4.

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

Приведи пример и обсудим систему обхода если уж на то пошло.

 
HIDDEN >>:

IgorM напиши хоть пример как вытащить ID винта в виде библиотеки и как её применить в MQL4.

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

Приведи пример и обсудим систему обхода если уж на то пошло.


пример не буду приводить - не вижу его целесообразности для торговых систем (тем более у меня проблема, т.к. у меня 2 ОС - Delphi в Win XP, а торговый терминал в Win7, не хочу прыгать между операционками), а про ID винта почитай http://www.rsdn.ru/forum/winapi/1755332.flat.aspx
как подключить dll вроде на первой странице пример
Причина обращения: