欢迎来到天天文库
浏览记录
ID:3902624
大小:526.22 KB
页数:9页
时间:2017-11-25
《威步软件保护防盗版硬件加密狗codemeter wupi samples说明for c++》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CodeMeterWUPISamples说明ForC++1/9WUPISamplesForC++说明文档1.C++的例子当安装完后已经安装在您的电脑上,首先打开CodeMeterStartCenter,选择Samples可进入目录SoftwareProtectionC++WupiCalculatorIndex下查找到。2.该例子的加密原理是由外壳工具AXPROTECTOR和WUPI函数功能组成,用户除了可以用自动外壳工具保护程序外,还可以对源程序的函数段进行自定义加密,并且可以通过WUPI函数来控制该函数段在内存中什么时候解密运行,什么时候再次加密保护起来。
2、3.首先我们打开外壳配置文件,如果您是CodeMeter用户请打开该目录下WupiCalculator-CodeMeter.WibuAxProject文件,如果您是WibuKey则打开WupiCalculator-WibuKey.WibuAxProject文件,以下我们以CodeMeter为例。4.双击该外壳配置文件后,外壳程序AxProtector也会被自动启动,如下图:2/9首先要选择需要加密的应用程序exe或者dll,然后下一步如下图:该步骤和后面一些步骤的说明都可以参考外壳的操作说明,这里不一一介绍说明了,一直下一步到Advancedoptions选项,通
3、常单纯的自动外壳加密的时候”ActivateIxProtector/WUPI”默认是不激活的,而这里我们需要让外壳和我们的WUPI函数功能组合在一起使用时,必须打上勾激活。3/9接着我们就可以进入下一步进行细节的配置。该例子是一个计算器例子,并且对计算器里的计算功能进行模块许可分配,如下图,在许可列表里为每个不同的模块功能分配不同的许可,(这些都针对希望对程序中多个功能进行分开授权管理而设定的,否则的话用户默认即可不用设置)然后在下一步里如下图,用户可以把希望做加密的函数名称添加到以下列表中4/9按添加函数按钮会出现如下图,在Name中填入函数名称(该函数名称必须
4、和程序中一致,否则外壳程序会无法查找到该函数),还可以通过Length来设定加密字节多少,而在licenselist里如果需要对该函数功能进行模块分授权管理,即可选择上一步已经设定的许可列表里的许可,则会自动绑定到该函数。然后就可以一直next到最后一步,按finish来完成加密工作,如下图:5/95.以上的步骤是外壳程序自动对WUPI函数进行处理,但是在这之前其实我们必须要程序中定义好WUPI函数并且编译生成后,才可以用以上外壳加密工具进行。然后下面我们看一下程序,这里请注意,所有在前面外壳加密时设定的加密函数段,必须在程序中做如下处理才可以进行加密,必须先调用
5、WupiDecryptCode()函数进行解密操作,然后才能运行那些加密的函数段如下面的CalcSimpleOperation(),否则将会出错,在运行完以后再调用WupiEncryptCode()函数进行加密,来保证内存中不要长时间暴露解密的函数程序。(在这里用户可以自行调节,什么时候再加密,比如有些经常会被调用到的大运算量函数考虑到运行效率问题可以延后再进行加密,降低了一些安全性而保证运行效率)另外可看到WupiDecryptCode()的参数为1,2,3…这个参数对应的是前面外壳加密时定义的加密函数段的ID如下图。6/9其他一些函数如WupiDecrease
6、UnitCounter()只有当设定了计数器时,可以使用该函数来对计数器进行减数操作。另外一些WUPI函数WupiCheckLicense(),可以用来检测加密锁上是否存在相应的许可单元(请注意该函数后的参数对应的是licenselists中的许可列表中的ID而不是上面的函数定义ID),还有一个比较关键的函数WupiCheckDebugger可以在程序中进行定义,它会自动对侦测进程中是否有debugger破解工具,用户可以在程序中多出添加来防止别人尝试破解您的软件。所有WUPI函数详细可查看开始-所有程序-CodeMeter-Documentation-Softw
7、areProtectionAPIHelp(English)文档。6.Wupi函数必须引用到头文件wibuixap.h(在目录C:ProgramFilesWIBU-SYSTEMSAxProtectorDevkitinclude)和lib文件WupiEngine32.lib(在目录C:ProgramFilesWIBU-SYSTEMSAxProtectorDevkitlib),在编译完后用上述外壳工具进行加密,另外请注意所有需要被加密处理的函数头文件中必须以__declspec(dllexport)申请,这样外壳加密时才能认出该函数并进行加密。另外请
8、注意,编译
此文档下载收益归作者所有