股票指标公式源码DLL加密过程详解及破解DLL思路和方法
股票指标公式源码DLL加密过程详解及破解DLL思路和方法
我们经常在股票软件中使用指标公式时,出现调用DLL出错的情况。
首先DLL文件是什么?
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。
DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。
DLL可在“C:Windows”目录“C:WindowsSystem”目录和程序的安装目录中找到。如果启动程序,但一个或多个DLL文件丢失或毁坏,则会收到出错消息,如“找不到xyz.dll”。如果启动的程序带有一个过期的DLL文件或不匹配的DLL文件,则会出现“未定义的动态链接调用”消息。这时,你可在其他电脑上找到正确的DLL文件并将它拷贝到适当的目录下,程序就能正确运行。
其实动态链接库最大的好处就是节省内存,程序在没有运行到dll里的函数的时候,dll里的函数就没有运行,只有在运行到了dll,才通过dll的接口函数访问dll,这样比直接把函数代码写到主题函数,或静态链接库相比,运行的效率有了很大的提高.具体dll的调用过程这个我就不用详述了。
但通达信大智慧等指标公式要调用dll程序加密时,不可避免的要影响到正常指标公式运行速度和准确性,一般技术指标还好,对于其他期货软件中那些自动交易的模型,有可能在运行过程中出现错误和停止,造成不可预估的损失。
象通达信大智慧等指标公式要调用dll函数文件是什么原因呢?
一般常见的是把不想让客户知道的算法及函数及有关限制的代码隐藏在DLL中,如时间限制和帐号ID的绑定代码,甚至可能带未来的函数代码都可以加密到DLL文件中。也是为了增加解密破解的难度。
股票指标公式的源码使用和添加DLL调用一般流程和思路,下面说明下
1、一个写入 DLL 的简单例子
假设您原来公式为布林极限:
input:N(20,1,100,1),P(2,1,10,1);
MID := MA(CLOSE,N);
UPPER:= MID + P*std(c,N);
LOWER:= MID - P*std(c,N);
b:(c-lower)/(upper-lower),colorred;
则写入DLL加密后公式为:(在您股票系统中建立新公式,把下面这两行拷贝过去。即可看效果)
input:N(20,1,100,1),P(2,1,10,1);
aa:"FHFXJDZH@ZLOCK"(N,P) ,colorred;
其中用一行(红色)代码,代替了原来 4 行代码。这样,即使解密者还原出您公式的源码,也搞不清楚"FHFXJDZH@ZLOCK"(N,P)是如何工作的。并且这个函数不注册是不能运行的。这样才能真正起到加密的作用。
根据源码来编写 dll 替代函数。这样不同公式,里面的替代函数算法是完全不同的,解密者无法了解初始的股票代码是什么。
也可以用类似后面的一些 dll 函数,代替某些股票代码。但这种加密方法强度不高。
2、MA(C, N) 替代函数
在指标中可以使用函数 "FHFXJDZH@MA"(N) 代替 MA(C, N)。
如:可以用 "FHFXJDZH@MA"(10) 代替 MA(C, 10)。
可以用 "FHFXJDZH@MA"(20) 代替 MA(C, 20)。
等等。
3、EMA(C, N) 替代函数
在指标中可以使用函数 "FHFXJDZH@EMA"(N) 代替 EMA(C, N) 等。
如:可以用 "FHFXJDZH@EMA"(10) 代替 EMA(C, 10)。
可以用 "FHFXJDZH@EMA"(20) 代替 EMA(C, 20)。
等等。
4、 SLOPE (C, N) 替代函数
在指标中可以使用函数 "FHFXJDZH@ SLOPE"(N) 代替 SLOPE (C, N) 等。
如:可以用 "FHFXJDZH@SLOPE"(10) 代替 SLOPE(C, 10)。
可以用 "FHFXJDZH@SLOPE"(20) 代替 SLOPE(C, 20)。
等等。
5、STD (C, N) 替代函数
在指标中可以使用函数 "FHFXJDZH@ STD"(N) 代替 STD (C, N) 等。
如:可以用 "FHFXJDZH@STD"(10) 代替 STD(C, 10)。
可以用 "FHFXJDZH@STD"(20) 代替 STD(C, 20)。
等等。
等等。
那么一般调用DLL的指标公式是如何安装的呢?
常用的是把这些文件压缩打包成一个执行程序Setup.exe,只要双击压缩包中的 Setup.exe,就可以把加密支持文件复制到用户的电脑和系统中并安装到软件系统上面,供用户调用。
破解DLL思路和方法分析
一般破解股票期货软件指标公式中调用的DLL主要是指破解解除里面的时间限制或帐号ID绑定,并不是还原成源码那种样式。
只要DLL文件里面没有时间和帐号绑定和限制,在通达信大智慧等这些软件中使用指标公式是正常使用的。