正在阅读:共享软件的注册加密法 (下)共享软件的注册加密法 (下)

2004-10-10 15:07 出处:CSDN 作者:宋立波 责任编辑:linjixiong

  四、注册点

  共享软件内部注册码产生后,需要对抗盗版的注册点的多少取决于共享软件的自身价值、开发者的加密深度和软件实现的复杂程度等诸多因素,同时这也决定了注册提示信息的显示频度,来套磁用户进行合法使用。但就笔者自身而言,至少应该将共享软件中实现难度较大、深受用户欢迎以及普遍使用的功能加上注册点。建议不同平台之间的注册码要分别设计注册算法和注册码。其代码示例如下:

  代码:
  注册点一:


  if(lpImeL->UseNum>=0x3f80){
  if(ImeCmpKey()==~0){
  sImeG.ZcFlag=TRUE;
  } else {
  sImeG.ZcFlag=FALSE;
  lpImeL->UseNum=0x0;
  }
  } else lpImeL->UseNum+=sImeG.iWord;
  注册点二:
  if(ImeCmpKey()==~0){
  sImeG.ZcFlag=TRUE;
  return;
  } else {
  sImeG.ZcFlag=FALSE;
  lpImeL->UseNum=0x0;
  }

  五、注册口

  对于共享软件,不管其实现何种功能,最好采取再线注册方式,这样可以减少用户很多重复操作。同时应该采取多个注册入口,如本人软件可以在增加或删除词组等时进行注册,只要一处注册成功整个软件就算注册成功,并注意对注册口输入的注册码进行再加密处理。

  笔者共享软件中注册口代码示例代码如下:

  代码:


  if(sImeG.ZcFlag==TRUE){
  if((cCharCode==0x8)||(cCharCode==0x4b)){
  if(sImeG.ZcCount>0){ //删除键处理
  if(sImeG.ZcCount<17)
  sImeG.szSel[0][sImeG.ZcCount+6]=0x5f;
  else sImeG.szSel[0][sImeG.ZcCount+6]=0x0;
  sImeG.ZcCount--;
  sImeG.szSel[0][sImeG.ZcCount+6]=0x11;
  lpImeL->ZcMyOk[sImeG.ZcCount]=0x0;
  sImeG.iSel = 0x1;
  sImeG.FScrCz  = TRUE;
  UpdateInList();
  } else MessageBeep(-1);
  } else if (cCharCode==0xd){//回车键处理
  if(sImeG.ZcCount==0x10){
  sImeG.ZcFlag=FALSE;
  sImeG.ZcCount=0x0;
  sImeG.iSel = 0x0;
  ScrnCode(sImeG.iStart);
  sImeG.FScrCz  = TRUE;
  UpdateInList();
  for(i=16;i>0;i--)
  lpImeL->ZcMyOk[16-i]^=(unsigned char)i;
  lpImeL->ZcMyOk[16]=0;
  for(i=0;i<16;i++){
  if(sImeG.ImeKey[i]!=lpImeL->ZcMyOk[i]) break;
  }

相关文章:共享软件的注册加密法 (上)


察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品