您的位置:首页 > Web前端

SafeNet讲座学习笔记

2005-06-29 15:30 239 查看
上周五参加了SafeNet公司的“2005 SafeNet软件保护日”活动并听了相关技术讲座。
通过参加这次讲座,学习到了一些加密狗使用的知识和技巧,总结如下:

一:软件加密中的注意事项:

1.访问狗之后不要立即做判断,可以适当加入一些“垃圾代码”,在判断

狗不正确后,不要立即提示或不提示。例如,许多共享软件是重启程序

后进行验证。

2.重要的字符串不要在程序中以明文出现,应该使用算法动态生成。

例如MyDoom蠕虫的做法:

char rot13c(char c)

{

char u[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

char l[] = "abcdefghijklmnopqrstuvwxyz";

char *p;

if ((p = xstrchr(u, c)) != NULL)

return u[((p-u) + 13) % 26];

else if ((p = xstrchr(l, c)) != NULL)

return l[((p-l) + 13) % 26];

else

return c;

}

void rot13(char *buf, const char *in)

{

while (*in)

*buf++ = rot13c(*in++);

*buf = 0;

}

/* "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ComDlg32\\Version" */

rot13(tmp, "Fbsgjner\\Zvpebfbsg\\Jvaqbjf\\PheeragIrefvba\\Rkcybere\\PbzQyt32\\Irefvba");

3.应该将从加密狗中读出的数据进行一定运算后,再和相应的数据

做比较。

4.在不影响程序效率的情况下,尽量多写一些查狗的函数,彼此要有区别而且

要使用不同的算法,多一些查狗出错的标志,让这些标志参与运算,在不同

的模块中,使用不同的查狗函数。

5.试用版和正式版要分开,试用版不提供的功能,代码要删掉,使得不可能

利用破解试用版来得到正式版。

6.不要使用明显的接口名称,这样会使解密者更容易找到加密点。可以利用

一些没有明显含义或含义相反的名字来迷惑解密者,尤其是Dll,引出函数

时甚至可以不用函数名。

7.不要固定加密点。固定的加密点容易被解密者跟踪和破解。要给查狗函数

加入一定的随机性,例如,随机的执行某一API函数,或者在狗的存储区中

划定一小块区域作随机读写,读写地址,读写内容,读写长度都可以是随机取值。

8.加密时要把API方式和Shell方式联合使用,这样,能够达到更高的加密强度。

API方式:即使用加密接口函数的方式。加密接口函数主要是指调用硬件的

接口函数。调用API函数进行加密,可以灵活的设置加密点,隐蔽性较好,

可以具有很高的加密强度。调用API函数进行加密又称内嵌式加密。采用

内嵌式加密还能够方便的做成限制使用次数,使用时间等功能的试用版软件。

接口函数的文件类型包括:OBJ,DLL,OCX,ARX。

Shell方式:外壳技术主要是针对可执行程序而言,使用外壳工具直接对可执行

文件处理后,可执行程序运行时必须依赖某种安全硬件或者许可证,这种方式

同时支持加密重要代码,数字常量和字符串。)

二.安全厂商建议的好的加密方案:

1.作为软件设计的一部分以文字的形式体现出来。即作为软件配置的一部分。

2。文档中要详细说明所使用的软件保护产品情况以及加密点如何设置。

3.文档中要说明使用的加密技巧。

4.能够有效控制硬件狗的初始化过程。

5.能够有效控制硬件狗的分发过程。

三.我自己的一个防止解密者分析程序的方法:

1.将真正的程序加壳(最好是少见的壳或自己写的壳,一般不要用aspack

或UPX之类)后,改掉文件名和相应的扩展名,例如,改为index.dat。

2.写一个引导程序main.exe,调用WinExec函数或CreateProcess函数来运行

index.dat程序,然后引导程序退出,真正的主程序index.dat开始运行。

可将此引导程序中加入大量垃圾数据例如在资源中加入多媒体数据(

mp3,jpeg图片等),尽量使程序看起来大一些,然后再把此引导程序加壳,

最好是和index.dat文件不一样的壳。

3.制作安装程序时,将main.exe设为主程序,包括各种快捷方式等都指向它,

而index.dat只作为一个附带数据文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: