网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
如何在Windows应用程序中实现电子注册功能
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
bsp; if(strstr(argv,".EXE")==NULL){  

    printf("USAGE:READKEY  路径及文件名.\n");  

    exit(1);  

    }  

    if((fp=open(argv,O_RDWR|O_BINARY))==-1){  

    printf("File  %s  open  error!",argv);  

    exit(1);  

    }  

    lseek(fp,0xf040L,SEEK_SET);//ROM  10个数据地址+200H  

    read(fp,keyrom,0xaL);  //读取数据  

    readser1();  //读文件中的注册密钥  

    }  else  readser();  //读机器中的注册密钥  

  }  

  void  readser(void)  

  {  

    sum=0x2020;  

    for(sumj=0;sumj<4;sumj++){//形成16位密钥  

    for(sumi=0;sumi<5;sumi++)  

    sum-=(*(pt+sumi)-0x2020);//形成解密密钥  

    sum^=0x0404<      sprintf(Buff+4*sumj,"%04x",sum);  

    }  

    printf(Buff);  

  }  

  void  readser1(void)  

  {  

    sum=0x2020;  

    for(sumj=0;sumj<4;sumj++){//形成16位密钥  

    for(sumi=0;sumi<5;sumi++)  

    sum-=keyrom[sumi];  //形成解密密钥  

    sum^=0x0404<      sprintf(Buff+4*sumj,"%04x",sum);  

    }  

    printf(Buff);  

  }  

    

  四、应用程序中密钥的读取及限制  

  当应用程序进行电子注册之后,安装程序会将注册密钥写入到应用程序中。在应用程序中,判断是否进行注册的方法就是重新生成注册密钥并进行判断处理。注册密钥的读取函数如下:  

  void  ImeCmpkey(void)  

  {//Windows下注册密钥的读取函数  

    static  unsigned  int  sum,sumi,sumj;  

    static  BOOL  flag;  

    static  unsigned  int  far  *pt;  

    static  UINT  Sel1,Sel2;  

    static  WORD  Seg,Off,Start;  

    static  DWORD  Bas,Lim;  

    flag=TRUE;  

    sum=0x2020;  

    __asm  mov  Sel1,ds;  //将DS作为模板  

    Sel2=AllocSelector(Sel1);  //分配一个新选择符  

    if(Sel2==NULL){  

    flag=FALSE;  

    pt=(unsigned  int &nb

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号