彩票走势图

WinLicense加壳授权常见问题总结

原创|其它|编辑:郝浩|2012-12-06 16:40:07.000|阅读 2001 次

概述:

为什么应用程序在使用WinLicense加壳时崩溃?本文将对此类使用WinLicense对软件进行加密和授权时的常见问题及解决方法进行总结。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

在《如何使用WinLicense对软件进行加密保护和授权》一文中,我们对加壳和授权的步骤有了一定的了解,但是在对软件和应用程序的实际操作中,还是会遇到种种不同的问题,今天就WinLicense使用时遇到的常见问题进行总结。

1、当使用WinLicense加壳时,应用程序突然崩溃,是什么原因?

答:WinLicense已经成功的在许多应用程序上进行过测试,如果你的应用程序在保护过后无法运行,解决方法有以下几个步骤:

  1. 在没有保护时,检查源程序运行是否正常。
  2. 检查你所使用的WinLicense的最终版本。
  3. 进入虚拟机面板,在它的“Entry Point Virtualization”选项中设置为“0”,然后继续进行保护。
  4. 如果你已经加入SecureEngine®宏,那么常规方法是移除宏然后再重新测试,看问题是否出自SecureEngine®宏。
  5. 如果你采用了CodeReplace功能,那么通过移除它来确定运行是否正常。
  6. 在保护面板中不要将所有的保护选项都选中,然后测试未选中的那一项是否与你的应用程序兼容。

2、在WinLicense加壳时使用加密狗,但应用程序崩溃,该怎么办?

答:大多数加密狗程序使用反调试器来探测内存中存在的破解调试程序。通常情况下,这些反调试器是根据探测结果进行程序中断,这样就会对WinLicense的运行造成一定程度的干扰。为了使WinLicense支持加密狗,在保护加密软件之前,你应该在“Protection Option”面板中取消“Debug Interrupts”选项。

3、在DLL中插入ENCODE并且清除宏之后,DLL崩溃是什么原因导致?

答:在DLL中插入ENCODE和清除宏是很麻烦的。WinLicense会检测搜索在应用程序中的宏。当检测出宏时,WinLicense会在保护时间内对其加密。这种问题出现在DLL中是因为它们在内存中被迁移,所以在程序运行时需要将ENCODE固定在DLL中。
以下面一段代码为例:

 

void MyFunction
{
   char *s;
   int a = 0;
  
   ENCODE_START
  
   s = "Hello World";

   for(int i = 0;i < 10; i++)
{
a = a * i;
}
ENCODE_END
}

以上代码的问题在于:s="Hello World";,来看一下它运行时的内存指令: mov [ebp-0xc],0x403140
这里的[ebp-0xc]是“s”在堆栈和403140指向的数据段的值(字符串:Hello World)。假如DLL被迁移,它将会成为数据段。在以上的例子中,在指令mov [ebp-0xc],0x403140中 推移0x403140将不会迁移,因为它在宏中被加密了。

4、怎样使用SmartActivate功能,有没有例子?

答:正如我们所知道的,应用程序可以通过一个文本密钥或一个注册表项进行注册。SmartActivate也就是注册应用程序的另外一种途径,但是它从本质上来说是和文本密钥或注册表项是一样的。使用SmartActivate有以下几步:

  1. 在“Registration”面板中,检查”Enable SmartActivate System for user-side generated keys”选项。
  2. 假如必须选择将SmartActivate是作为文本密钥还是注册表项进行安装,那么我们选择”Single File”选项。
  3. 在应用程序中,必须设置一个允许用户通过SmartActivate注册应用程序的对话框。
  4. 在WinLicense的License Manager中创建一个SmartActivate键。必须在客户端显示SmartActivate键的信息以便用户注册应用程序。

5、什么是自定义计数器?

 答:自定义计数器是为了应对不同用户的需求而设计的。开发商在试用版中可以自由地对使用次数的计数。

6、什么是XBundler

答:XBundler是一个ThemidaWinLicense中特殊的插件,它可在DLL和数据文件中植入受保护的应用,从而简化了客户的应用程序的分配,避免在DLL和数据文件中使用第三方插件。XBundler能够压缩和加密所有嵌入式文件,而不影响应用程序的正常运行和功能,并且它没有额外的编码。

7、Windows 7 下出现WinLicense错误,怎么办?

答:首先,可以尝试选择该应用程序的启动文件,点击右键,点击属性,找到兼容性选项。然后选择在兼容模式下运行该程序,兼容模式选择Windows XP SP3。最后,将最下面的一项设置成以管理员身份运行。

总结:

以上几条问题是使用WinLicense加壳时最常出现的问题,通过这些问题的解决,也许你会对WinLicense的功能特性更加的了解,对它的使用也会更加的得心应手。使用WinLicense之后,你一定会惊叹它的加壳功能的强大和对软件授权的全方位精密控制。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP