软件狗[Dongles]的加密与解密技术
2007-01-13 20:14:13 来源:WEB开发网核心提示: (1)将自己的软件(SAMPLE.C)编好,调试通过,软件狗[Dongles]的加密与解密技术(7),SAMPLE.C#include<stdio.h>main(){printf("This is my sample program! ");}(2)在SA
(1)将自己的软件(SAMPLE.C)编好,调试通过。
SAMPLE.C
#include<stdio.h>
main()
{
printf("This is my sample program!
");
}
(2)在SAMPLE.C重要的地方调用加密函数。
SAMPLE.C
#include<stdio.h>
main()
{
/* Insert BITSHELL function call */
id (BL_ComeIn()==0)
{
printf("Error!
")
return(255);
}
printf("Thin is my sample program!
");}
(3)编译SAMPLE.C成为SAMPLE.OBJ后,再将SAMPLE.OBJ和BLOBJ.OBJ链接成SAMPLE.EXE。
QCL /AL SAMPLE.C BLOBJ.OBJ
(4)用BITSHELL加密,键入命令执行:
BITSHELL SAMPLE.EXE SALE.EXE
软件加密过程完成了!
如果被加密的程序SALE.EXE被解密或修改,就会提示错误,然后退出。
2、使用BITSHELL须知
请不要使用PKLITE,LZEXE或EXEPACK进行压缩商品程序。
建议高级语言程序设计者,如有可能将所用程序设计语言的启动代码作修改,改变程序的入口点,避免被截获。在程序内部识别BITSHELL的嵌入式模块最好采用随机调用。
加密时用环境变量指定参数。生产一批软件,用同一种变形算法,万一软件有漏洞,新版本的软件可换一种变形算法。加密后的文件放在硬盘上,可提高加密速度。超大文件加密后,再用PKZIP等压缩后,放入商品软件盘上。
3、注意事项
(1)运行BITSHELL系统,或运行经BITSHELL加密的程序系统,如果安装了驻留型的调试跟踪器(如:Soft-ICE,GameBuster等),请先拆除之,否则程序将拒绝运行,因为这样有跟踪解密的嫌疑。
更多精彩
赞助商链接