采用加密狗代码植入APPONCHIP的方法保护应用程序时,要权衡应用程序的执行效率和安全性,需要考虑以下因素:
1.函数上传到加密狗中的估计时间
2.函数代码片段的大小。(函数代码片段越长越难以破解)
3.一个函数是否重要(是否包含重要知识产权的内容),以及该函数被调用的频率
当您选择使用金雅特加密狗代码植入的方式来保护函数方法时,需要考虑每个函数在加密狗中的切换频率(因为加密狗每次只能执行一个函数,使用频率高的函数将会被频繁地上传到加密狗中),以及每个函数上传到加密狗中的时间。请注意递归函数和那些会在循环中调用到的函数。如果被保护程序打开了多个实例对象,那么同一时间内不同的方法可能被调用,每个实例对象的运行效率将受到影响。

我们可以选择在常见的编译器中设置相关选项,来生成map文件。例如:
Microsoft Visual C++ 6.0
使用Microsoft Visual C++ 6.0打开一个已有工程,在菜单栏中选择:Project—Settings,这将打开Project Settings对话框,请选择Link选项卡,勾选选项:"Generate mapfile"(如图1),点击确定,然后重新编译整个工程,map文件将与exe文件生成到同一目录中。

Microsoft Visual C++ 2003,2005,2008,2010
使用Microsoft Visual Studio .NET 2003,或Microsoft Visual Studio(版本号为 2005,2008,或2010)其中任意一个编辑器打开一个已有的Microsoft Visual C++工程,在菜单栏中选择:Project—Settings,这将打开工程的Property Pages对话框,请选择Configuration Properties—Linker—Debugging,在选项Generate Map File处选择:"Yes(/MAP)"(如图2),点击确定按钮,然后重新编译整个工程,map文件将与exe文件生成到同一目录中。
