MT5中的MQL代码作者保护。 - 页 2 123456789...17 新评论 VonDo Mix 2009.11.22 01:48 #11 就EX4而言,它很可能是被反编译的编辑器。而且从保护措施来看,似乎是赤裸裸的。那里没有资金流动。如果两个受保护的 组件(客户端和编辑器)都用钥匙操作--成功的希望就更大了。;) Al W 2009.11.22 01:52 #12 5分钱...1.大多数(如果不是全部)产品需要连接才能使用。2.因此,以 "服务 "的形式放在网络上的 "钥匙"(在作者的网站上)。当你启动终端时,有指标或专家顾问的终端,在上面运行,"使用 "它...因此,反编译问题不再是一个问题。出类拔萃。该产品必须是非常有趣的。对一个以超级秘密算法为 "基础 "销售的产品的评论显示,没有什么有趣的东西,更没有什么用处...唉......。原则上讲,算法本身是超强的,如果作者认为是,可以放在网站上。专家顾问应该只在交易过程中处理和实施,这不是一个秘密,即使是公开发表的。- EA发送一个请求(通过订阅)。- 接收值- 流程- 贸易- 可同时从事绘图工作//指标也一样,除了交易按账户号码 组织订阅本身...总的来说,正如一位罗马皇帝曾经说过的:分而治之! ПавелИванович 2009.11.22 02:09 #13 circlesquares : 事实是,反编译仍然是一个问题。如果所有必要的代码都在EA内,那么用已知的工作密钥反编译它,就可以得到EA的源代码及其所有后果。 然而,如果部分代码位于网站上,这就是一个非常不可靠的解决方案。网站的任何故障都会导致客户资金的令人难以置信的损失。 Evgeniy Logunov 2009.11.22 14:00 #14 api : 另外,我曾经在某个地方看到有人提到,MQL5代码可以编译成本地CPU代码。我不知道:是真的还是假的,但如果是真的,这就是反编译保护中的一个严重漏洞。 这又会如何降低安全性? 通过使用非对称密码学来防止添加代码--如果密钥足够长,就不可能伪造签名。 如果你指的是反编译--它的自动化对机器代码来说是非常困难的。我不是指反汇编--这是可能的,因为处理器本身必须以某种方式执行代码。有自动反编译的尝试(http://www.hex-rays.com/),但它们主要被简化为对编译器生成的代码的所有可能选项的分析(这根本不是一个微不足道的任务,因为根据我的理解,转换为机器代码将在元引号一侧进行)。如果我们将代码生成器与月相绑定(即以不同方式编译结构体),反编译的自动化就变得不现实了 ПавелИванович 2009.11.22 14:17 #15 lea : 这又会如何降低安全性? 添加代码是通过非对称加密技术来防止的--如果密钥足够长,就不可能伪造签名。 如果你指的是反编译--其自动化对机器代码来说是非常困难的。我不是指反汇编--这是可能的,因为处理器本身必须以某种方式执行代码。有自动反编译的尝试(http://www.hex-rays.com/),但它们主要被简化为对编译器生成的代码的所有可能选项的分析(这根本不是一个微不足道的任务,因为根据我的理解,转换为机器代码将在元引号一侧进行)。如果我们将代码生成器与月相绑定(即以不同方式编译结构体),反编译的自动化就变得不现实了 的确,我是指拆卸。我,就像每个人经常遇到的情况一样,以我自己的能力来判断。对我来说,这类似于反编译,因为在大多数情况下,我可以很容易地从汇编文本中重构出算法。当然,通过使用多态病毒算法,这一过程会变得非常复杂,但最后,由于有反病毒,这种方法也不能完全保证。 Evgeniy Logunov 2009.11.22 15:11 #16 api : 的确,我是指拆卸。就像每个人经常遇到的情况一样,我是根据自己的能力来判断的。对我来说,这就像反编译一样,因为在大多数情况下我可以很容易地从汇编代码中重构算法。当然,通过使用多态病毒算法,这一过程会变得非常复杂,但最后,由于有反病毒,这种方法也不能完全保证。 拆解大文件(即使用ida)和手动重建算法需要大量的时间和精力。人们是否会经常实践这种方法是值得怀疑的。但是,如果开发者设法以某种方式使生成的机器码复杂化,这似乎是未来机器码文件唯一可能的方法。 反病毒软件很少使用任何特殊算法。大多数情况下,他们紧紧抓住文件和指令序列的特殊性--我曾遇到过一个杀毒软件抱怨通过数列之和计算圆周率(我正在训练使用FPU)。反编译是一项根本性的不同任务。如果你在代码生成过程中进行了不可逆的代码突变,通过特征代码变体进行反编译原则上是不可能的(你将需要模拟/跟踪代码并观察在 "高层 "发生了什么--它是从哪里读来的,在哪里写的,调用了什么以及用什么参数......反病毒软件似乎使用类似的方法,但它们只观察各种系统函数的调用序列)。 关于不可逆突变的问题,我也许会抛出一些文章的链接(我希望管理部门和读者不会介意此类链接)。 http://vx.netlux.org/lib/vzo49.html http://vx.netlux.org/lib/vzo50.html http://vx.netlux.org/lib/vzo57.html http://vx.netlux.org/lib/vzo32.html http://vx.netlux.org/lib/vsp24.html Renat Fatkhullin 2009.11.22 16:54 #17 就在MQL5中的代码乱码/混淆,你可以为每个函数指定一个特殊的修改器。void MyFunc(int val) trash { Print("Val: ",val); }到目前为止,它被称为垃圾,但我们很可能会把它改为保护。这将导致代码的深度垃圾化和指定函数的速度减慢。此外,MQL5编译器使用了大量的优化,这极大地减少了反向反编译的可能性。 Evgeniy Logunov 2009.11.22 17:07 #18 Renat : 只是在MQL5中的代码垃圾/混淆,你可以为每个函数指定一个特殊的修改器。 这很好 :) 是否可以调整垃圾代码的百分比? 函数是否会按其调用位置嵌入? Renat Fatkhullin 2009.11.22 17:10 #19 lea : 这很好 :) 是否可以调整垃圾代码的百分比? 函数嵌入是否会在调用点完成? 每次的垃圾都会不同。你不能自定义百分比--这要由编译器来决定。自动内联函数已经工作了很长时间--编译器本身根据函数的大小和复杂程度作出决定。也就是说,大型函数不被内联。 kombat 2009.11.22 17:12 #20 呃...对我来说,生活是多么容易...我没有黑客的欲望,也不打算在可预见的未来出售任何东西。这就是人们的麻烦所在...:))) 123456789...17 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
就EX4而言,它很可能是被反编译的编辑器。
而且从保护措施来看,似乎是赤裸裸的。那里没有资金流动。
如果两个受保护的 组件(客户端和编辑器)都用钥匙操作--成功的希望就更大了。
;)
5分钱...
1.大多数(如果不是全部)产品需要连接才能使用。
2.因此,以 "服务 "的形式放在网络上的 "钥匙"(在作者的网站上)。
当你启动终端时,有指标或专家顾问的终端,在上面运行,"使用 "它...
因此,反编译问题不再是一个问题。
出类拔萃。该产品必须是非常有趣的。
对一个以超级秘密算法为 "基础 "销售的产品的评论
显示,没有什么有趣的东西,更没有什么用处...唉......。
原则上讲,算法本身是超强的,如果作者认为是,可以放在网站上。
专家顾问应该只在交易过程中处理和实施,这不是一个秘密,即使是公开发表的。
- EA发送一个请求(通过订阅)。
- 接收值
- 流程
- 贸易
- 可同时从事绘图工作
//
指标也一样,除了交易
按账户号码 组织订阅本身...
总的来说,正如一位罗马皇帝曾经说过的:分而治之!
事实是,反编译仍然是一个问题。如果所有必要的代码都在EA内,那么用已知的工作密钥反编译它,就可以得到EA的源代码及其所有后果。
然而,如果部分代码位于网站上,这就是一个非常不可靠的解决方案。网站的任何故障都会导致客户资金的令人难以置信的损失。
另外,我曾经在某个地方看到有人提到,MQL5代码可以编译成本地CPU代码。我不知道:是真的还是假的,但如果是真的,这就是反编译保护中的一个严重漏洞。
这又会如何降低安全性?
通过使用非对称密码学来防止添加代码--如果密钥足够长,就不可能伪造签名。
如果你指的是反编译--它的自动化对机器代码来说是非常困难的。我不是指反汇编--这是可能的,因为处理器本身必须以某种方式执行代码。有自动反编译的尝试(http://www.hex-rays.com/),但它们主要被简化为对编译器生成的代码的所有可能选项的分析(这根本不是一个微不足道的任务,因为根据我的理解,转换为机器代码将在元引号一侧进行)。如果我们将代码生成器与月相绑定(即以不同方式编译结构体),反编译的自动化就变得不现实了
这又会如何降低安全性?
添加代码是通过非对称加密技术来防止的--如果密钥足够长,就不可能伪造签名。
如果你指的是反编译--其自动化对机器代码来说是非常困难的。我不是指反汇编--这是可能的,因为处理器本身必须以某种方式执行代码。有自动反编译的尝试(http://www.hex-rays.com/),但它们主要被简化为对编译器生成的代码的所有可能选项的分析(这根本不是一个微不足道的任务,因为根据我的理解,转换为机器代码将在元引号一侧进行)。如果我们将代码生成器与月相绑定(即以不同方式编译结构体),反编译的自动化就变得不现实了
的确,我是指拆卸。我,就像每个人经常遇到的情况一样,以我自己的能力来判断。对我来说,这类似于反编译,因为在大多数情况下,我可以很容易地从汇编文本中重构出算法。当然,通过使用多态病毒算法,这一过程会变得非常复杂,但最后,由于有反病毒,这种方法也不能完全保证。
的确,我是指拆卸。就像每个人经常遇到的情况一样,我是根据自己的能力来判断的。对我来说,这就像反编译一样,因为在大多数情况下我可以很容易地从汇编代码中重构算法。当然,通过使用多态病毒算法,这一过程会变得非常复杂,但最后,由于有反病毒,这种方法也不能完全保证。
拆解大文件(即使用ida)和手动重建算法需要大量的时间和精力。人们是否会经常实践这种方法是值得怀疑的。但是,如果开发者设法以某种方式使生成的机器码复杂化,这似乎是未来机器码文件唯一可能的方法。
反病毒软件很少使用任何特殊算法。大多数情况下,他们紧紧抓住文件和指令序列的特殊性--我曾遇到过一个杀毒软件抱怨通过数列之和计算圆周率(我正在训练使用FPU)。反编译是一项根本性的不同任务。如果你在代码生成过程中进行了不可逆的代码突变,通过特征代码变体进行反编译原则上是不可能的(你将需要模拟/跟踪代码并观察在 "高层 "发生了什么--它是从哪里读来的,在哪里写的,调用了什么以及用什么参数......反病毒软件似乎使用类似的方法,但它们只观察各种系统函数的调用序列)。
关于不可逆突变的问题,我也许会抛出一些文章的链接(我希望管理部门和读者不会介意此类链接)。
就在MQL5中的代码乱码/混淆,你可以为每个函数指定一个特殊的修改器。
到目前为止,它被称为垃圾,但我们很可能会把它改为保护。
这将导致代码的深度垃圾化和指定函数的速度减慢。
此外,MQL5编译器使用了大量的优化,这极大地减少了反向反编译的可能性。
只是在MQL5中的代码垃圾/混淆,你可以为每个函数指定一个特殊的修改器。
这很好 :) 是否可以调整垃圾代码的百分比? 函数是否会按其调用位置嵌入?
这很好 :) 是否可以调整垃圾代码的百分比? 函数嵌入是否会在调用点完成?
每次的垃圾都会不同。你不能自定义百分比--这要由编译器来决定。
自动内联函数已经工作了很长时间--编译器本身根据函数的大小和复杂程度作出决定。也就是说,大型函数不被内联。
呃...对我来说,生活是多么容易...
我没有黑客的欲望,也不打算在可预见的未来出售任何东西。
这就是人们的麻烦所在...
:)))