Защита исходного кода до компиляции

Что более значимо для Вас?


  • Всего проголосовало
    4

pavelmobile

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

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

1. Декомпиляция файлов *.ex4 с целью исследования чужой логики работы и/или последующей модификации. С последними билдами терминала МТ4 этот процесс усложнился, но тем не менее опытные специалисты по взлому успешно анализируют их содержание и вносят в них несанкционированные правки, в т.ч. отключая триал защиты и различные привязки.

2. Банальное переименование наименования скомпилированных файлов, наименования производителя (#property copyright) с целью выдачи этих файлов за иные или «собственные» продукты.



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

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

Каждый опытный программист может самостоятельно убедится на приведенном примере, что последующая компиляция такого зашифрованного исходника в формат *.ex4 крайне усложняет процесс его изучения и анализа, ну или либо вообще делает это практически невозможным. Также любой желающий может протестировать абсолютно свободно и бесплатно алгоритм защитного шифрования направив любой* исходный код в формате *.mq4 по электронной почте [email protected] (подробности ниже)



Текущие возможности (бета версия):

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



Пример 1. Так выглядит исходный код до шифрации (файл приложен)

cxqxL9F.png


Пример 2. Так выглядит исходный код после динамической шифрации (файл приложен)

RD98MFi.png


2. С целью дополнительной защиты владельца кода в каждый шифруемый исходный код автоматически интегрируется комплекс информационной защиты владельца кода с информационным блоком (выводится на график в правый нижний угол).

На график выводится:

+ информация содержащая ID номер шифрации исходного кода (по которой владелец всегда может индивидуализировать конкретный экземпляр своего продукта). Это может быть очень удобно например для того, что бы владелец кода мог понять чей конкретно экземпляр продукта несанкционированно попал в паблик или был взломан.

+ оригинальное наименование файла (original filename), которое использовалось владельцем исходного кода при шифрации. Любое последующее искажение оригинального защищенного названия файла будет приводить к нарушению логики (для удобства допускается только дополнение оригинального наименования). Таким образомзлоумышленникам будет весьма проблематично полностью изменить наименование файла.

+ наименование производителя (#property copyright). В момент шифрации эти данные считываются из исходного кода и запоминаются в зашифрованном виде. Таким образом даже если в последующем злоумышленники внесут изменения в скомпилированный файл *.ex4, указав там иного производителя, то на график будут продолжать выводится данные производителя указанные первоначально владельцем.

Любая последующая несанкционированная модификация информации выводимой на график в информационном блоке приводит к нарушению логики.



Пример 3. Так выглядит информационный блок

eqXWUXj.png


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

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



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



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



Как можно зашифровать любой* исходный код в формате *.mq4?

На текущий момент пока ведется отладка это возможно сделать совершив следующие простые шаги:

1. Отправить любое письмо на электронный адрес [email protected]

2. Получив ответное письмо ответить на него (что бы при ответе сохранился присланный код активации)

3. Затем к Вам придет письмо подтверждающее, что Вы можете отправлять на этот адрес любые* исходные коды в формате *.mq4 для защитной шифрации.

4. Вы отправляйте файл *.mq4 и через некоторое время получаете письмо с уже зашифрованным исходным кодом (к названию исходного кода добавляются ID номер и «_protected» которые можно спокойно удалить).

Обработка всех файлов осуществляется автоматически, мы не анализируем и не коим иным образом не используем присланные файлы, за исключением их защитной шифрации, удаления и технической отладки совместимости алгоритма шифрования, инициированной пользователем в случае если исходный код зашифровался с ошибками или вообще незашифровался. Если какой либо исходный код Вы предпочитаете не пересылать по электронной почте и/или просто не доверяете ни кому, то Вы можете просто дождаться когда мы создадим отдельный программный продукт для самостоятельной защиты исходного кода локально у себя на компьютере.



*Любой отправляемый исходный код *.mq4 должен быть ранее не зашифрованным и компилироваться в *.ex4 без предупреждений и ошибок. Вы должны предварительно проверить это самостоятельно.



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

1. ID номер шифрования.

2. Что именно не работает или работает не так.

3. Описать подробно как мы можем воспроизвести ошибку, по возможности приложив скрины.




P.S. Так как к нам часто поступают различные просьбы и предложения просим принять во внимание, что мы не принимаем ни каких заказов на программирование, т.к. занимаемся самостоятельной разработкой программного обеспечения для собственных нужд и конечных продуктов. Существует много сторонних квалифицированных специалистов которые готовы выполнить любые Ваши заказы на разработку программ в разделе «Фриланс» Маркета. Также мы не располагаем и не планируем располагать программным решением по дешифрации исходных кодов обратно в первоначальный вид. Любые обращения с просьбами выслать ранее отправленные первоначальные исходные коды, в т.ч. лицами представляющимися их владельцами будут игнорироваться. С этими вопросами просьба также к нам не обращаться.


!!!Просьба отписываться в этой теме всех тех кто понимает для чего это нужно и для кого это реально может быть полезно



Source code protection before compilation

Any developer very well knows how much time and effort is spent on independent development of an efficient algorithm and he has an unconditional right to defend it.

We're sure, that many users faced these common situations:

1. Decompiling *.ex4 files to investigate the logic of work and/or to intruduce modifications. With the latest build of the MT4 terminal, this process has become more complicated, but nevertheless specialists experienced in breaking successfully analyze the content and make unauthorized changes, including disabling trial protection and various bindings.

2. Trivial renaming of compiled files names, name of the manufacturer (#property copyright) for the purpose of issuing these files as different or "own" products.

We are developing a software solution that will help developer and their customers to protect their source code from unauthorized research, modification, renaming and resale.

This protection is implemented at the primary level of the source code by the dynamic encryption algorithms developed by us, without any additional libraries or external tools of protection from decompilation, i.e. the *.mq4 source code itself is changed.

Every experienced programmer can make sure by his own with the example above, that the subsequent compilation of the encrypted mq4 source code extremely complicates the process of studying and analyzing it, or makes it almost impossible. Also, anyone can test the protective encryption algorithm for free by sending any* source code in *.mq4 format to the email [email protected] (see the details below)

Current features (beta version):

1. Dynamic Encryption of a source code with a unique proprietary algorithm

Example 1: This is the original source code before encryption (file attached)
cxqxL9F.png



Example 2: This is the source code after the dynamic encryption (file attached)
RD98MFi.png



2. In order to further protect the owner of the code, complex protection information is automatically integrated into each encrypted source code (the info is shown on the graph in the lower right corner).

What is displayed:

+ Information containing the ID of encryption of the source code (with which the owner can always personalize a specific instance of the product). This can be very convenient for example, the owner of the code can understand which specific instance of the product was illegally published or has been cracked.

+ Original file name ("original filename"), which was used when the owner of the source code performed the encryption. Any subsequent change of the original protected file name will lead to a damage of logic (only addition to original names is permitted for convenience). Thus, it would be very difficult for attackers to completely change the file name.

+ Name of the manufacturer (#property copyright). At the time of encrypting this data is read from the source and is stored in encrypted form. Thus, even if attackers will make changes to the compiled *.mq4 file, changing this property to another manufacturer, then the graph will continue to report the manufacturer specified by the original owner.


Any subsequent unauthorized modification of the information displayed on the graph leads to a damage of logic.

Example 3: This is how the informational block looks like
eqXWUXj.png



Later, when we'll achieve a high percentage of compatibility with a variety of dynamic encryption codes, we plan to create a software product with a flexible and convenient built-in protected licensing system (limiting the time of usage, the account number, the name of the owner, to the trade server, etc.), which the user could use locally on his computer to protect his source, without transferring it to anyone.

Those developers who will actively cooperate with us by full and professional testing of our algorithm of the dynamic encryption will receive premium status of professional users with advanced features and extended limits of use.

It will be convenient and safe to share the source code into an encrypted form for developers who are constantly collaborating with customers by developing a variety of source codes.

Experience shows that even if you do not give the code to anyone and use it exclusively for your own needs on the VPS, it is much safer to use it in encrypted binded to your accounts.

How can you encrypt any* source code in the *.mq4 format?

At the moment it is being debugging and it is possible to make it by doing the following simple steps:

1. Send any email to the address [email protected]
2. After receiving a reply with an activation code, respond to it (whith the activation code preserved in the answer)
3. Then you will receive an email confirming that you can send to this address any* source code in the *.mq4 format for protecting encryption.
4. You send *.mq4 files and after a while you get an email with already encrypted source code (the ID number and «_protected» words are added to the name of the source code, which can be easily removed).


All the files are processed automatically, we do not analyze or use the submitted files, except for their protective encryption, removing, debugging the technical compatibility of the encryption algorithm, initiated by the user in case if the encrypted source code contains errors or could not be encrypted. If you prefer not to send the source code by e-mail and/or just do not trust anyone, you can simply wait until we create a standalone software product for self-protection of the source code locally on your computer.

* Any *.mq4 source code being sent must not be previously encrypted and must be able to be compiled into *.ex4 without warnings and errors. You must first check it out yourself.

If the source code is encrypted with errors or is not encrypted, but it was fully functional before encryption (you should check this out before) and you are sure that you did not make any changes, please notify us and report the following:
1. ID number of encryption.
2. What exactly does not works or works incorrectly.
3. Describe in details how to reproduce the error, attach screenshots if possible.

P.S. Since we often receive various requests and suggestions, please keep in mind that we do not accept any orders for programming, as we perform software development for our own needs and development of the final products. There are many qualified third-party professionals who are ready to fulfill all your orders for the development of programs in the "Freelance" section of the Market. Also, we do not have and do not plan to have a software solution for decoding the source code back to the original form. All requests to send previously sent original source code, including persons representing their owners will be ignored. So please, do not ask us to do it.

!!!Anyone who understands the purpose of this software and who finds this useful is welcome to comment the post.
 

Вложения

  • MACD Sample.mq4
    6,1 КБ · Просмотры: 20
  • 1444918410629_MACD Sample_protected.mq4
    19,9 КБ · Просмотры: 33
Верх