文章 "保证 MQL5 代码的安全:密码保护、钥匙生成器、时间限制、远程许可证及先进的 EA 许可证密钥加密技术" - 页 2 123456 新评论 --- 2012.02.18 22:02 #11 我认为这是目前唯一的选择。 Anatoli Kazharski 2012.02.18 22:21 #12 sergeev: 我认为这是目前唯一的选择。没有其他方法可以证明交易者的技能。只有监控自己的交易。在这个网站上就可以做到这一点,真是太好了。不需要什么Onyx之类的....。只是目前这方面的信息还不多。例如,哪些类型的账户可以连接到这项服务?更确切地说,是否也可以连接模拟账户?还是只能连接真实账户?当然,真实账户更值得信赖。如果长期(例如半年以上)结果稳定,模拟账户和真实账户都更值得信赖。可能还有更多问题......附注:总的来说,这个话题是关于其他方面的,所以我要走了。:) Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5 Yedelkin 2012.02.20 09:33 #13 Renat:顺便说一句,我们很快将为所有用户推出一个大型评级系统。这将是一个非常有趣的创新--"给我一个 80 级的交易员!"。 至少有三个评级:"程序员用户评级"、"商人用户评级 "和 "洪水商用户评级"。 Peter Maxwell 2012.02.22 17:23 #14 很抱歉,我说得很刻薄,但这篇文章所介绍的不是安全性,而是模糊性。 拷贝保护是一个极其 困难的问题,因此音乐/电影行业在 DRM 方面做了很多努力,但却屡屡失败。充其量,这里的信息会浪费一些人的时间;最糟糕的情况是,你可能会给读者带来虚假的安全感。 如果他们决定使用你的建议来 "保护 "产品,当他们的消费者在几个小时内取消保护并以极低的价格转售产品时,他们可能会有些惊讶。严重的是,base64 编码与加密无关。 Base64 编码的设计目的是让 8 位数据可以安全地通过认为数据编码为 7 位的协议进行传输。 你可以轻易地逆转 base64 编码,它就是为此目的而设计的!在我看来,安全分发 MQL5 软件的唯一解决方案是通过经纪人的有限授权条款,或者在某个服务器上安装带有 .ex5 文件的 MQL5 实例,并允许客户 使用瘦客户端访问(这样他们就无法下载 .ex5)。 是的,我在信息安全领域工作了 15 年以上,所以对我所说的有相当的了解。老实说,我对 Metaquotes 发表这篇文章感到非常惊讶。 Documentation on MQL5: Standard Constants, Enumerations and Structures / Chart Constants / Types of Chart Events www.mql5.com Standard Constants, Enumerations and Structures / Chart Constants / Types of Chart Events - Documentation on MQL5 molanis 2012.02.22 21:29 #15 这篇文章提供了一些如何处理该问题的线索。实际上,该问题应由 mt5 客户端解决。有很多平台都在客户端软件中使用 "枚举 "功能,因此是软件而不是编码员解决了这个问题。 Peter Maxwell 2012.02.23 15:22 #16 molanisfx:这篇文章提供了一些如何处理该问题的线索。实际上,该问题应由 mt5 客户端解决。有许多平台都在客户端软件中使用 "枚举 "功能,因此该问题应由软件而非编码员来解决。 即使是 MetaQuotes 客户端软件要实现该功能 也是一个棘手的问题:软件必须包含或下载解密密钥,这意味着有可能泄露该密钥。 如果使用防篡改硬件设备,那么除非 .ex5 在**防篡改硬件上运行,否则它仍然是脆弱的,因为它必须在某一点上解密才能执行。 虽然我可能无法实现这种攻击,但我知道有相当多的人可以做到这一点,根本不费吹灰之力。在终端用户可以访问并运行 .ex5 的威胁模型中,没有**安全的解决方案。这就是公司/机构使用瘦客户端模式来解决的一般问题(换句话说就是内容保护):这样敏感内容就不能被下载,只能在公司/机构的服务器上使用。 Rashid Umarov 2012.02.24 07:44 #17 您应该知道,所有 EX5-prorgram 都是用强密钥加密的。这是第一点。第二点 - 不要忘记 Market - MetaTrader 5 的智能交易市场。市场中的所有产品都通过附加密钥为买家加密。这意味着,除合法用户外,任何人都无法启动此类 EX5 程序。 Peter Maxwell 2012.03.27 03:43 #18 Rosh: 您应该知道,所有 EX5-prorgram 都是用强密钥加密的。这是第一点。第二点 - 不要忘记 Market - MetaTrader 5 的智能交易市场。Market 中的所有产品都通过附加密钥为买家加密。这意味着,除合法用户外,任何人都无法启动此类 EX5 程序。您也可以将前门换成加固钢板,但如果您将钥匙放在门垫上,也无法阻止他人进入。 您所描述的保护措施可以阻止随意编码者,但肯定无法阻止有动机的攻击者。问题不在于加密--那是最简单的部分--而在于如何处理密钥和解密过程。在这种情况下,攻击者--按照经典的说法,我们称她为 Mallory--希望复制和分发她拥有密钥的 EX5,那么她当然可以通过以下方式做到:i. 使用密钥运行 EX5;在运行过程中监控进程,例如在进程中附加一个 DLL,并在解密后立即转储 EX5 的内容;iii. 重新组装现在的明文 EX5(如果费心的话,还可能反汇编成源代码)。如果您的第一点保护涉及签名验证,那么攻击者要分发文件,只需分发一个替换了相关公钥的不同 MQL 可执行文件即可。 如果 MQL5 使用加密 API 来验证证书,那么就可以将其从二进制文件中剥离出来。这种情况会一直 持续下去。这些都是在开始考虑密钥管理这个噩梦之前的事情。虽然这种二进制分析超出了我现在的能力范围,但我知道有几个人可以毫不费力地完成。 因此,您应该担心的不是加密的强度,而是您有一个无效的安全模型。 这本身 并不是一个特殊的问题,因为没有人指望 MetaTrader 能解决这个问题 - 这个问题还有其他非常有用的解决方案,特别是让 MQL5/EX5 代码的所有者在他们控制的独立服务器上运行,并授权买家访问/信号。因此,我不明白为什么人们需要这种设施,而它却很难正确实现,至少在没有防篡改硬件的情况下。 JohnyPipa 2012.05.23 16:02 #19 "您还可以添加与硬件属性(硬盘序列号或 CPUID 信息)相关的变量。在这种情况下,必须使用硬件绑定运行额外的生成器才能运行智能交易系统。结果可作为生成器的输入参数,生成的密码仅对特定硬件正确。这就限制了那些更改了电脑配置或使用 VPS 的用户运行智能交易系统,但这可以通过提供两到三个有效密码来解决。市场 服务中就使用了这种方法"。在哪里可以了解更多关于硬件绑定的信息或找到源代码示例? 还有,"此方法在'市场'服务中使用 "是什么意思?也就是说,如果我在 "市场 "服务中发布一个编译后的智能交易系统文件供出售,它是否会自动包含绑定到硬件的功能?还是我必须提供源代码,而 Metaquotes 员工会在其中额外包含绑定到硬件的功能?有可能在 MQL4 中实现硬件绑定吗?(大多数经纪中心仍使用 MT4)。 Renat Fatkhullin 2012.05.23 17:36 #20 JohnyPipa: 在哪里可以找到更多关于硬件绑定的信息或源代码示例? "此方法在"市场 " 服务中使用 "是什么意思?也就是说,如果我在 "Market "服务中发布待售的智能交易系统编译文件,那么其中就会自动包含硬件绑定功能?还是说,我必须提供源代码,Metaquotes 的员工才会在源代码中额外包含与硬件的绑定? 是的,当您在 "市场 "购买程序时,每份程序 (EX5) 都会自动重新保护/加密,并绑定到用户的硬件。无需提供源代码。有可能在 MQL4 中实现硬件绑定吗?(大多数经纪中心仍使用 MT4)。 很遗憾,不能。 123456 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我认为这是目前唯一的选择。
没有其他方法可以证明交易者的技能。只有监控自己的交易。在这个网站上就可以做到这一点,真是太好了。不需要什么Onyx之类的....。
只是目前这方面的信息还不多。例如,哪些类型的账户可以连接到这项服务?更确切地说,是否也可以连接模拟账户?还是只能连接真实账户?当然,真实账户更值得信赖。如果长期(例如半年以上)结果稳定,模拟账户和真实账户都更值得信赖。可能还有更多问题......
附注:总的来说,这个话题是关于其他方面的,所以我要走了。:)
顺便说一句,我们很快将为所有用户推出一个大型评级系统。这将是一个非常有趣的创新--"给我一个 80 级的交易员!"。
很抱歉,我说得很刻薄,但这篇文章所介绍的不是安全性,而是模糊性。 拷贝保护是一个极其 困难的问题,因此音乐/电影行业在 DRM 方面做了很多努力,但却屡屡失败。
充其量,这里的信息会浪费一些人的时间;最糟糕的情况是,你可能会给读者带来虚假的安全感。 如果他们决定使用你的建议来 "保护 "产品,当他们的消费者在几个小时内取消保护并以极低的价格转售产品时,他们可能会有些惊讶。
严重的是,base64 编码与加密无关。 Base64 编码的设计目的是让 8 位数据可以安全地通过认为数据编码为 7 位的协议进行传输。 你可以轻易地逆转 base64 编码,它就是为此目的而设计的!
在我看来,安全分发 MQL5 软件的唯一解决方案是通过经纪人的有限授权条款,或者在某个服务器上安装带有 .ex5 文件的 MQL5 实例,并允许客户 使用瘦客户端访问(这样他们就无法下载 .ex5)。 是的,我在信息安全领域工作了 15 年以上,所以对我所说的有相当的了解。
老实说,我对 Metaquotes 发表这篇文章感到非常惊讶。
这篇文章提供了一些如何处理该问题的线索。实际上,该问题应由 mt5 客户端解决。有很多平台都在客户端软件中使用 "枚举 "功能,因此是软件而不是编码员解决了这个问题。
这篇文章提供了一些如何处理该问题的线索。实际上,该问题应由 mt5 客户端解决。有许多平台都在客户端软件中使用 "枚举 "功能,因此该问题应由软件而非编码员来解决。
即使是 MetaQuotes 客户端软件要实现该功能 也是一个棘手的问题:软件必须包含或下载解密密钥,这意味着有可能泄露该密钥。 如果使用防篡改硬件设备,那么除非 .ex5 在**防篡改硬件上运行,否则它仍然是脆弱的,因为它必须在某一点上解密才能执行。 虽然我可能无法实现这种攻击,但我知道有相当多的人可以做到这一点,根本不费吹灰之力。
在终端用户可以访问并运行 .ex5 的威胁模型中,没有**安全的解决方案。
这就是公司/机构使用瘦客户端模式来解决的一般问题(换句话说就是内容保护):这样敏感内容就不能被下载,只能在公司/机构的服务器上使用。
您应该知道,所有 EX5-prorgram 都是用强密钥加密的。这是第一点。
第二点 - 不要忘记 Market - MetaTrader 5 的智能交易市场。市场中的所有产品都通过附加密钥为买家加密。这意味着,除合法用户外,任何人都无法启动此类 EX5 程序。
您应该知道,所有 EX5-prorgram 都是用强密钥加密的。这是第一点。
第二点 - 不要忘记 Market - MetaTrader 5 的智能交易市场。Market 中的所有产品都通过附加密钥为买家加密。这意味着,除合法用户外,任何人都无法启动此类 EX5 程序。
您也可以将前门换成加固钢板,但如果您将钥匙放在门垫上,也无法阻止他人进入。 您所描述的保护措施可以阻止随意编码者,但肯定无法阻止有动机的攻击者。
问题不在于加密--那是最简单的部分--而在于如何处理密钥和解密过程。
在这种情况下,攻击者--按照经典的说法,我们称她为 Mallory--希望复制和分发她拥有密钥的 EX5,那么她当然可以通过以下方式做到:
i. 使用密钥运行 EX5;
在运行过程中监控进程,例如在进程中附加一个 DLL,并在解密后立即转储 EX5 的内容;
iii. 重新组装现在的明文 EX5(如果费心的话,还可能反汇编成源代码)。
如果您的第一点保护涉及签名验证,那么攻击者要分发文件,只需分发一个替换了相关公钥的不同 MQL 可执行文件即可。 如果 MQL5 使用加密 API 来验证证书,那么就可以将其从二进制文件中剥离出来。这种情况会一直 持续下去。
这些都是在开始考虑密钥管理这个噩梦之前的事情。
虽然这种二进制分析超出了我现在的能力范围,但我知道有几个人可以毫不费力地完成。 因此,您应该担心的不是加密的强度,而是您有一个无效的安全模型。 这本身 并不是一个特殊的问题,因为没有人指望 MetaTrader 能解决这个问题 - 这个问题还有其他非常有用的解决方案,特别是让 MQL5/EX5 代码的所有者在他们控制的独立服务器上运行,并授权买家访问/信号。
因此,我不明白为什么人们需要这种设施,而它却很难正确实现,至少在没有防篡改硬件的情况下。
"您还可以添加与硬件属性(硬盘序列号或 CPUID 信息)相关的变量。在这种情况下,必须使用硬件绑定运行额外的生成器才能运行智能交易系统。
结果可作为生成器的输入参数,生成的密码仅对特定硬件正确。这就限制了那些更改了电脑配置或使用 VPS 的用户运行智能交易系统,但这可以通过提供两到三个有效密码来解决。市场 服务中就使用了这种方法"。
在哪里可以了解更多关于硬件绑定的信息或找到源代码示例? 还有,"此方法在'市场'服务中使用 "是什么意思?也就是说,如果我在 "市场 "服务中发布一个编译后的智能交易系统文件供出售,它是否会自动包含绑定到硬件的功能?还是我必须提供源代码,而 Metaquotes 员工会在其中额外包含绑定到硬件的功能?
有可能在 MQL4 中实现硬件绑定吗?(大多数经纪中心仍使用 MT4)。
在哪里可以找到更多关于硬件绑定的信息或源代码示例? "此方法在"市场 " 服务中使用 "是什么意思?也就是说,如果我在 "Market "服务中发布待售的智能交易系统编译文件,那么其中就会自动包含硬件绑定功能?还是说,我必须提供源代码,Metaquotes 的员工才会在源代码中额外包含与硬件的绑定?
有可能在 MQL4 中实现硬件绑定吗?(大多数经纪中心仍使用 MT4)。