MT5中的MQL代码作者保护。 - 页 7 1234567891011121314...17 新评论 [删除] 2010.11.08 09:26 #61 YuraZ:比如说买家:在互联网上找到信息,写下想买的东西 卖方:描述付款机制--如果你不想透露付款细节,你将被要求提供你的个性化信息。 买方:付款并发送个性化数据、账户号码 或全名,这是关键。卖方:发送分配给个人数据的货物。理想情况下,这就是了! 我有这样的案例,而且不在少数不幸的是,这并没有使一些自由职业者(处于主体地位的人)的生活更加复杂。绑定账户也不是所有问题的解决方案,任何有能力的 "交易复制器 "都会将所有数据转移到任何其他账户(特别是如果数据从MT5复制到MT5)。在我看来,不仅是专家,而且是脚本、指标、库和其他代码都应该受到保护。在我看来,这是一个更加有趣和重要的主题。为什么它更重要?我们知道,所有可以使用MQL实现的工具分为:自动系统,半自动系统,以及手动交易的工具。在系统中也有一种划分:"黑盒子"、"灰盒子 "和 "白盒子 "系统(具有开放源代码和明确描述的逻辑的系统)。因此,几乎所有呈现在商业领域的MTS都将是黑色或灰色盒子。它们的比重不会那么大(我认为不会超过30-40%)。同时,这样的解决方案将是相当不灵活的(因为它们在本质上只实施一种策略)。独立的脚本、库和指标是另一回事。这些软件解决方案将适用于人工和机械交易的所有领域。同时,它们将能够被用作构造器的基本元素。PS在我看来,这里有必要最大限度地保护,以便不侵犯开发者和用户的权利。在这种情况下,唯一的最佳保护方式是什么? 据我所知,只有一种--与硬件绑定。 ir0407 2010.11.08 14:19 #62 但目前(如果组织得足够好),它是一种相当有效和可靠的保护方法。不管你自己怎么想,与硬件绑定不再是一种有效的保护方法。顺便说一句,对于一个几乎不熟悉阿斯穆斯的人(他们的人数远远不止这些)来说,取消这种保护是几分钟的事。而你将与什么结合并不重要。阅读编程(阅读黑客)论坛,一切都会变得清晰。:)还有什么 "良好的组织",为了实验,尝试将你的一些大规模生产与硬件结合起来,我相信经过一段时间(大约一两个月),你会明白我想告诉你什么。仿佛还有其他的保护方案?我很惊讶你会这么问。当然也有。而且有很多。从简单的改写器,到许可证生成器,再到硬件-软件保护方法,如HASP,等等。但几乎所有这些软件,无论其成本和宣称的可靠性如何,都早已被破解,而破解码、密钥和其他软件都在互联网上公开行走。而且我敢说这些保护方法比简单地与硬件绑定要可靠几个数量级。 михаил потапыч 2010.11.08 14:29 #63 YuraZ:在MT4/MT5 MQL4/MQL5 + DLL的背景下,可以不与硬件绑定,而是与账号(数字)绑定,为实数和/或名称,或者是中间名。 这种方式在安全方面是最简单的(对于这种特定情况)--它是移动的,不需要与硬件绑定。 在出售给账户的那一刻,谁将进行绑定? VonDo Mix 2010.11.08 21:24 #64 从这个主题开始,我们有('每个'!)自己的证书,由Metakwots颁发。很明显,这还不是一个被公认的认证机构。但这个话题(签发和维护证书)已经停滞,尽管4号文件据说有这样的认证能力。因此,我认为,为保护作者身份而对硬件进行约束是一种 "深度 "倒退。我们的想法(关于它的第一页)是为ex5文件实现 "正常 "的编译算法。 梦境大约是这样的。程序员能够编译他的程序,使其只有在有跟踪子键的情况下才能被终端准确感知--开发人员和用户的密钥的复杂串联。开发者密钥的必要签名将位于程序中,以及程序中的用户密钥和特定终端上的密钥中。那么这个 "许可证-子密钥 "的存在将使它有可能被使用。生成应该由Meta-editor完成,也就是开发者自己--从客户那里得到一部分密钥。所以它被想象成...但有些东西并没有从雾中出来。在我看来,从 "МТ5 "证书颁发机构生成开发者密钥的可能性,以及在终端出现使用该密钥和部分用户密钥的ex5解密程序,将比 "本地服务 "解决更多问题--其机制和适当性在这里根本无法讨论。;) Renat Fatkhullin 2010.11.08 23:49 #65 如果我们谈论的是钥匙保护,整个互联网将充斥着这些非常的钥匙。换句话说,与其说是保护,不如说是一个假象,其复杂的实施方式迫使买方管理钥匙。最好的方法是看看苹果公司的AppStore/iTunes销售计划是否有效。客户只需点击进入并购买软件,而无需转移或使用钥匙的麻烦。客户只需拥有一个MQL5.com账户,就可以保留购买历史并重新激活以前购买的软件。当购买一个程序时,用户会收到一个专门重新编译/保护的副本,这比钥匙更能保护卖家。个人保护的整个过程将在购买时自动完成。我们的目标是使购买/销售过程尽可能地简单。 Sergey Kravchuk 2010.11.09 06:53 #66 我认为在这个问题上还缺少一个重要的功能--试用期或演示限制。潜在的买家有理由想先看看他们买的是什么。为此,必须在某处隐藏(加密)关于所购产品无限制运行的日期和/或时间的信息。在我看来,将带有几个密钥的加密机制(如pgp)嵌入语言本身,不仅可以解决这个问题,还可以解决许多其他问题。 只卖给在真实账户 上工作的客户是有意义的(就像他有/必须有能力购买)。这个数字(也许+一些更多的信息,如服务器名称、关键短语或其他信息)被用作解密的钥匙。供应商应该有一个内置的机制来生成密钥对,并用它们来加密文件。 我们能得到什么?开发者创建一个包含初始数据的文件:例如,包含账户号码和两个日期,从该账户开始到该账户结束。该文件是加密的,与专家/脚本/指标一起交给买方。为他(而且只为他的账户),平台收到第二个账户号码的完整密钥,读取并解密加密文件(你可以检查校验和,如果密钥证明是错误的,则不返回任何东西),并将其作为一个字符串提供给专家顾问/脚本/指标。代码本身将接收这些数据,并决定它是在演示模式还是正常模式下工作。 它甚至可以存储EA的操作参数:例如,MAXX的交叉 - 即使在反编译后,算法是明确的,但这些MAXX在利润中工作的确切参数可能是 "秘密",在不知道这些参数的情况下反编译EA是没有意义的。当然,有一些差距,会有一些妥协,但不知道加密文件中的数据(你不能用Asm得到的),一切都变得比仅仅从作者那里购买产品及其支持要复杂得多。一句话:你需要提供一个加密的容器,然后每个人都可以把他们需要的数据放入其中,并安排最复杂的保护。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5 Renat Fatkhullin 2010.11.09 09:19 #67 先生们,别忘了这是个大众市场。 你认为在1:1的工作类别中,买家和卖家会一起谈判,交换出价,并相互发送钥匙。当然,这样一来,你就不可能卖出很多。而我们则提供了一个快速销售的商店,卖家甚至不需要为销售动一根手指。而买方只需按下 "购买 "按钮,而不必理会任何账户号码 或密钥生成。一切都已经想好了。如果你想知道它将如何工作,可以试试iPhone/iPad,从AppStore购买软件。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5 Andrey Dik 2010.11.09 09:41 #68 以我的愚见,将保护与硬件捆绑在一起的选择是理想的,无论是在实施方面还是在使用的便利性方面。关于这个变体还有一个愿望,但我将在下面告诉你。与账号/所有者姓名 和其他的链接选项并不方便,尽管这在第一眼看去并不明显。买家喜欢每周更换经纪人和开立新账户,那么每次都为他编制产品,如果产品有几十个或几百个用户,怎么办?钥匙可以在网上融合--也不是一种选择。与硬件的绑定情况如何?一个用户可能希望在几台电脑上使用该产品,那么就应该提供与几个硬件版本绑定的可能性。如果用户想要升级可用的硬件,那么在这种情况下,也许我们应该给你,比如说,1个小时的时间,在这期间进行迁移到一个新的硬件。如此下去。我们需要思考这些问题。将产品永远绑定在一台/两台/三台机器上是错误的,对客户不公平。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5 Renat Fatkhullin 2010.11.09 09:47 #69 joo: 至于与硬件的绑定问题。用户可能想在几台机器上使用该产品,那么就应该提供与几个硬件选项绑定的可能性。如果用户想升级可用的硬件,那么在这种情况下,也许你应该允许,比如说,1个小时的时间,让用户切换到新硬件。如此下去。我们需要思考这些问题。将一个产品永远绑定在一台/两台/三台机器上是不对的,对客户也不公平。 在更换硬件时,最多可以重新激活3次的自动权利是足够合理和公平的。 hrenfx 2010.11.09 10:19 #70 Renat: 但与此同时,我们将允许在测试器(测试器代理)中运行受保护的EA,这样用户可以在测试器中独立验证EA的性能,而不是买椟还珠。有的EA是把历史缝在里面的。或者能够从历史基地读取历史。这种假的EA在测试器中显示出显著的效果。对这种欺诈行为是否会有任何保护措施?特别是当专家顾问与DLL一起交付时。在MQL5代码+恶意DLL(从间谍软件到病毒)的情况下,该服务将如何为其声誉而战? 1234567891011121314...17 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
比如说
买家:在互联网上找到信息,写下想买的东西
卖方:描述付款机制--如果你不想透露付款细节,你将被要求提供你的个性化信息。
买方:付款并发送个性化数据、账户号码 或全名,这是关键。
卖方:发送分配给个人数据的货物。
理想情况下,这就是了!
我有这样的案例,而且不在少数
不幸的是,这并没有使一些自由职业者(处于主体地位的人)的生活更加复杂。绑定账户也不是所有问题的解决方案,任何有能力的 "交易复制器 "都会将所有数据转移到任何其他账户(特别是如果数据从MT5复制到MT5)。
在我看来,不仅是专家,而且是脚本、指标、库和其他代码都应该受到保护。在我看来,这是一个更加有趣和重要的主题。
为什么它更重要?
我们知道,所有可以使用MQL实现的工具分为:自动系统,半自动系统,以及手动交易的工具。
在系统中也有一种划分:"黑盒子"、"灰盒子 "和 "白盒子 "系统(具有开放源代码和明确描述的逻辑的系统)。
因此,几乎所有呈现在商业领域的MTS都将是黑色或灰色盒子。它们的比重不会那么大(我认为不会超过30-40%)。同时,这样的解决方案将是相当不灵活的(因为它们在本质上只实施一种策略)。
独立的脚本、库和指标是另一回事。这些软件解决方案将适用于人工和机械交易的所有领域。同时,它们将能够被用作构造器的基本元素。
PS
在我看来,这里有必要最大限度地保护,以便不侵犯开发者和用户的权利。在这种情况下,唯一的最佳保护方式是什么? 据我所知,只有一种--与硬件绑定。
不管你自己怎么想,与硬件绑定不再是一种有效的保护方法。顺便说一句,对于一个几乎不熟悉阿斯穆斯的人(他们的人数远远不止这些)来说,取消这种保护是几分钟的事。而你将与什么结合并不重要。阅读编程(阅读黑客)论坛,一切都会变得清晰。:)还有什么 "良好的组织",为了实验,尝试将你的一些大规模生产与硬件结合起来,我相信经过一段时间(大约一两个月),你会明白我想告诉你什么。
仿佛还有其他的保护方案?
我很惊讶你会这么问。当然也有。而且有很多。从简单的改写器,到许可证生成器,再到硬件-软件保护方法,如HASP,等等。但几乎所有这些软件,无论其成本和宣称的可靠性如何,都早已被破解,而破解码、密钥和其他软件都在互联网上公开行走。而且我敢说这些保护方法比简单地与硬件绑定要可靠几个数量级。
在MT4/MT5 MQL4/MQL5 + DLL的背景下,可以不与硬件绑定,而是与账号(数字)绑定,为实数和/或名称,或者是中间名。
这种方式在安全方面是最简单的(对于这种特定情况)--它是移动的,不需要与硬件绑定。
从这个主题开始,我们有('每个'!)自己的证书,由Metakwots颁发。很明显,这还不是一个被公认的认证机构。但这个话题(签发和维护证书)已经停滞,尽管4号文件据说有这样的认证能力。
因此,我认为,为保护作者身份而对硬件进行约束是一种 "深度 "倒退。
我们的想法(关于它的第一页)是为ex5文件实现 "正常 "的编译算法。
梦境大约是这样的。
程序员能够编译他的程序,使其只有在有跟踪子键的情况下才能被终端准确感知--开发人员和用户的密钥的复杂串联。
开发者密钥的必要签名将位于程序中,以及程序中的用户密钥和特定终端上的密钥中。
那么这个 "许可证-子密钥 "的存在将使它有可能被使用。
生成应该由Meta-editor完成,也就是开发者自己--从客户那里得到一部分密钥。
所以它被想象成...
但有些东西并没有从雾中出来。
在我看来,从 "МТ5 "证书颁发机构生成开发者密钥的可能性,以及在终端出现使用该密钥和部分用户密钥的ex5解密程序,将比 "本地服务 "解决更多问题--其机制和适当性在这里根本无法讨论。
;)
如果我们谈论的是钥匙保护,整个互联网将充斥着这些非常的钥匙。换句话说,与其说是保护,不如说是一个假象,其复杂的实施方式迫使买方管理钥匙。
最好的方法是看看苹果公司的AppStore/iTunes销售计划是否有效。客户只需点击进入并购买软件,而无需转移或使用钥匙的麻烦。客户只需拥有一个MQL5.com账户,就可以保留购买历史并重新激活以前购买的软件。
当购买一个程序时,用户会收到一个专门重新编译/保护的副本,这比钥匙更能保护卖家。个人保护的整个过程将在购买时自动完成。
我们的目标是使购买/销售过程尽可能地简单。
我认为在这个问题上还缺少一个重要的功能--试用期或演示限制。潜在的买家有理由想先看看他们买的是什么。为此,必须在某处隐藏(加密)关于所购产品无限制运行的日期和/或时间的信息。在我看来,将带有几个密钥的加密机制(如pgp)嵌入语言本身,不仅可以解决这个问题,还可以解决许多其他问题。
只卖给在真实账户 上工作的客户是有意义的(就像他有/必须有能力购买)。这个数字(也许+一些更多的信息,如服务器名称、关键短语或其他信息)被用作解密的钥匙。供应商应该有一个内置的机制来生成密钥对,并用它们来加密文件。
我们能得到什么?开发者创建一个包含初始数据的文件:例如,包含账户号码和两个日期,从该账户开始到该账户结束。该文件是加密的,与专家/脚本/指标一起交给买方。为他(而且只为他的账户),平台收到第二个账户号码的完整密钥,读取并解密加密文件(你可以检查校验和,如果密钥证明是错误的,则不返回任何东西),并将其作为一个字符串提供给专家顾问/脚本/指标。
代码本身将接收这些数据,并决定它是在演示模式还是正常模式下工作。 它甚至可以存储EA的操作参数:例如,MAXX的交叉 - 即使在反编译后,算法是明确的,但这些MAXX在利润中工作的确切参数可能是 "秘密",在不知道这些参数的情况下反编译EA是没有意义的。当然,有一些差距,会有一些妥协,但不知道加密文件中的数据(你不能用Asm得到的),一切都变得比仅仅从作者那里购买产品及其支持要复杂得多。
一句话:你需要提供一个加密的容器,然后每个人都可以把他们需要的数据放入其中,并安排最复杂的保护。
先生们,别忘了这是个大众市场。
你认为在1:1的工作类别中,买家和卖家会一起谈判,交换出价,并相互发送钥匙。当然,这样一来,你就不可能卖出很多。而我们则提供了一个快速销售的商店,卖家甚至不需要为销售动一根手指。而买方只需按下 "购买 "按钮,而不必理会任何账户号码 或密钥生成。
一切都已经想好了。如果你想知道它将如何工作,可以试试iPhone/iPad,从AppStore购买软件。
以我的愚见,将保护与硬件捆绑在一起的选择是理想的,无论是在实施方面还是在使用的便利性方面。关于这个变体还有一个愿望,但我将在下面告诉你。
与账号/所有者姓名 和其他的链接选项并不方便,尽管这在第一眼看去并不明显。买家喜欢每周更换经纪人和开立新账户,那么每次都为他编制产品,如果产品有几十个或几百个用户,怎么办?钥匙可以在网上融合--也不是一种选择。
与硬件的绑定情况如何?一个用户可能希望在几台电脑上使用该产品,那么就应该提供与几个硬件版本绑定的可能性。如果用户想要升级可用的硬件,那么在这种情况下,也许我们应该给你,比如说,1个小时的时间,在这期间进行迁移到一个新的硬件。如此下去。我们需要思考这些问题。将产品永远绑定在一台/两台/三台机器上是错误的,对客户不公平。
至于与硬件的绑定问题。用户可能想在几台机器上使用该产品,那么就应该提供与几个硬件选项绑定的可能性。如果用户想升级可用的硬件,那么在这种情况下,也许你应该允许,比如说,1个小时的时间,让用户切换到新硬件。如此下去。我们需要思考这些问题。将一个产品永远绑定在一台/两台/三台机器上是不对的,对客户也不公平。
但与此同时,我们将允许在测试器(测试器代理)中运行受保护的EA,这样用户可以在测试器中独立验证EA的性能,而不是买椟还珠。
有的EA是把历史缝在里面的。或者能够从历史基地读取历史。这种假的EA在测试器中显示出显著的效果。对这种欺诈行为是否会有任何保护措施?特别是当专家顾问与DLL一起交付时。
在MQL5代码+恶意DLL(从间谍软件到病毒)的情况下,该服务将如何为其声誉而战?