В 619 билде появилась новая функция ResourceCreate для создания динамических графических ресурсов на лету.
С ее помощью теперь можно создавать любые сложные изображения в 32 битном цвете, включая альфа-канал и прикреплять их к объектам на графике.
Что это дает разработчикам:
- программы могут на лету создавать красивые интерфейсы без необходимости таскать за собой массу файлов
- дополнительные ресурсные файлы (не только BMP и WAV) можно добавлять прямо в EX5 файлах с помощью директивы #resource "имя файла", считывать их во время исполнения, модифицировать и накладывать на объекты
в ближайшем билде будет доступна функции ResourceLoad(), которая позволит считывать ранее прикрепленные к EX5 файлу ресурсы
...
Почти Photoshop. ))
Интересует, какие ещё можно будет форматы файлов использовать. Планируется ли добавлять файлы-документы? То есть, чтобы в файле *.ex5 можно было хранить файлы Справки, допустим в формате *.chm. Да и вообще любые файлы относящиеся, допустим, к офисному приложению Microsoft Office.
Что означает считывать ранее прикреплённые файлы? Переводить в код и затем иметь возможность корректировать это закодированное изображение на лету? Поясните, пожалуйста.
Считывать можно будет как картинки, так и другие данные. Картинки можно загружать напрямую в буферы, модифицировать их там и прикреплять результаты к объектам.
Мы будем контролировать опасные типы файлов, не разрешая хранить, считывать и записывать потенциально опасные данные. То есть, никаких вордов, chm и аналогичных файлов.
Считывать можно будет как картинки, так и другие данные. Картинки можно загружать напрямую в буферы, модифицировать их там и прикреплять результаты к объектам.
- www.mql5.com
Можно ли будет включать в программу *.ex5 перечисленные мной типы файлов, если будут предоставлены все исходники для проверки на вредоносность и наличие подключений к внешним библиотекам *.dll? Исходники при этом будут подробно закомментированы для облегчения проверки.
Нет, никакие опасные типы файлов не будут разрешаться для публичного распространения. Тем более, в таком скрытом режиме.
Надо понимать, что практически с помощью любой DLL можно легко организовать взлом через срыв стека вполне безобидной функции. Мы многое сделали, чтобы обезопасить DLL вызовы через безопасные врапперы, но это не является полной защитой.
Посмотрите на примеры от MetaDriver с альфаканалами: https://www.mql5.com/ru/forum/138655/page3
Нет, никакие опасные типы файлов не будут разрешаться для публичного распространения. Тем более, в таком скрытом режиме.
Надо понимать, что практически с помощью любой DLL можно легко организовать взлом через срыв стека вполне безобидной функции. Мы многое сделали, чтобы обезопасить DLL вызовы через безопасные врапперы, но это не является полной защитой.
Спасибо за уточнение, но на всякий случай сформулирую ещё раз несколько иначе.
Допустим, я прислал на проверку к Вам программу для размещения её в Маркете. Я предоставляю все исходные коды. В коде MQL однозначно нет никаких подключенных *.dll файлов и Вы проводите проверку, чтобы в этом убедиться. Что мешает провести проверку и других подключенных, как ресурсы файлов, чтобы убедиться, что там тоже нет вредоносного кода?
Ещё пример. Допустим, файлы формата *.html нельзя подключать, как ресурсы, но программа может ведь сгенерировать отчёт в формате *.html. Он в любом случае окажется на компьютере пользователя. Да и вообще можно много разных форматов сгенерировать. Просветите, пожалуйста.
Посмотрите на примеры от MetaDriver с альфаканалами: https://www.mql5.com/ru/forum/138655/page3
На моём компе всё летает. Круто в общем. Теперь можно разойтись на полную. )))
Допустим, я прислал на проверку к Вам программу для размещения её в Маркете. Я предоставляю все исходные коды. В коде MQL однозначно нет никаких подключенных *.dll файлов и Вы проводите проверку, чтобы в этом убедиться. Что мешает провести проверку и других подключенных, как ресурсы файлов, чтобы убедиться, что там тоже нет вредоносного кода?
Дело в том, что никто не будет тратить ресурсы наших компаний на сложненную проверку чужих программ, а потом выслушивать в свою сторону потоки претензий.
Я понимаю, что многие считают нашу бесплатную работу чем-то совершенно обыденным и базовым, но это не означает, что мы будем брать на себя еще больше бесплатной и неблагодарной работы.
Со своей стороны мы через некоторое время включим механизмы автоматической проверки на антивирусах всех включаемых ресурсов у программ на маркете, чтобы снизить шанс прохождения совсем простых зловредов.
Ещё пример. Допустим, файлы формата *.html нельзя подключать, как ресурсы, но программа может ведь сгенерировать отчёт в формате *.html. Он в любом случае окажется на компьютере пользователя. Да и вообще можно много разных форматов сгенерировать. Просветите, пожалуйста.
Есть безусловно опасные файлы в виде исполнимых - их невозможно будет как включить в виде ресурсов, так и записать на диск из эксперта. То есть, форматы файлов (включая внутреннюю структуру) будут проверяться прямо во время записи на диск.
Есть серьезно опасные файлы, содержащие в себе скрипты и полные уязвимостей. Их мы тоже не будем разрешать включать.
Все остальные файлы можно будет включать и записывать из MQL5.
Дело в том, что никто не будет тратить ресурсы наших компаний на сложненную проверку чужих программ, а потом выслушивать в свою сторону потоки претензий.
Я понимаю, что многие считают нашу бесплатную работу чем-то совершенно обыденным и базовым, но это не означает, что мы будем брать на себя еще больше бесплатной и неблагодарной работы.
Со своей стороны мы через некоторое время включим механизмы автоматической проверки на антивирусах всех включаемых ресурсов у программ на маркете, чтобы снизить шанс прохождения совсем простых зловредов.
Спасибо. Ответом полностью удовлетворён. Мне просто нужно было уточнить эти моменты. Иногда даже для проверки небольшой по объёму программы уходит много времени и энергии, поэтому я понимаю все установленные Вами ограничения. Из двух зол разумнее выбирать меньшее.
Есть безусловно опасные файлы в виде исполнимых - их невозможно будет как включить в виде ресурсов, так и записать на диск из эксперта. То есть, форматы файлов (включая внутреннюю структуру) будут проверяться прямо во время записи на диск.
Есть серьезно опасные файлы, содержащие в себе скрипты и полные уязвимостей. Их мы тоже не будем разрешать включать.
Все остальные файлы можно будет включать и записывать из MQL5.Спасибо. Ответом полностью удовлетворён. Мне просто нужно было уточнить эти моменты. Иногда даже для проверки небольшой по объёму программы уходит много времени и энергии, поэтому я понимаю все установленные Вами ограничения. Из двух зол разумнее выбирать меньшее.
Есть и вообще без расширений. например файл: hosts.
Небольшая модернизация и вуаля вы уже не владелец своего компа.
Можно потом поменять расширение файла с помощью kernel32.dll.
Проверка ресурса не даст результатов если перед записью файла над каждым байтом делать операцию например xor.
...
Проверка ресурса не даст результатов если перед записью файла над каждым байтом делать операцию например xor.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В 619 билде появилась новая функция ResourceCreate для создания динамических графических ресурсов на лету.
С ее помощью теперь можно создавать любые сложные изображения в 32 битном цвете, включая альфа-канал и прикреплять их к объектам на графике.
Что это дает разработчикам:
в ближайшем билде будет доступна функции ResourceLoad(), которая позволит считывать ранее прикрепленные к EX5 файлу ресурсы
например, можно рисовать полупрозрачное облако с предсказанием вероятных путей движения рынка, управляя цветом и насыщенностью
Скоро мы добавим в стандартную библиотеку класс CCanvas, которые позволяет легко манипулировать изображениями, рисуя их в своем буфере с выводом на привязанный объект.
Вот простой пример скрипта с демонстрацией работы этого класса (файлы приложены):