CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

有哪些免费的加密exe文件的软件呢?且加密后的软件的注册码只能在一部机上使用

楼主wnsr()2005-01-24 13:03:24 在 Delphi / 数据库相关 提问

如果有,请提供下载地址。加密狗好像要钱买的 问题点数:20、回复次数:5Top

1 楼yqdragon(小布点)回复于 2005-01-24 13:08:13 得分 4

楼主自己写个吧.....Top

2 楼dengpingyy(dp)回复于 2005-01-24 14:53:21 得分 4

自已写个吧,和硬件邦定!Top

3 楼jackie168(http://soft.eastrise.net)回复于 2005-01-24 14:57:20 得分 4

用壳Top

4 楼zzllabc(抱朴子--清心释累,绝率忘情)回复于 2005-01-24 14:59:22 得分 4

我有一个,是取硬盘序列号做加密的,楼主想要的话给我发邮件,zlong_ts@hotmail.com,不过要记得加分啊。Top

5 楼jackie168(http://soft.eastrise.net)回复于 2005-01-24 15:08:22 得分 4

软件加密:一机一码  
   
  //取硬盘系列号:  
  function   GetIdeSerialNumber:   pchar;     //获取硬盘的出厂系列号;  
      const   IDENTIFY_BUFFER_SIZE   =   512;  
  type  
        TIDERegs   =   packed   record  
            bFeaturesReg:   BYTE;  
            bSectorCountReg:   BYTE;  
            bSectorNumberReg:   BYTE;  
            bCylLowReg:   BYTE;  
            bCylHighReg:   BYTE;  
            bDriveHeadReg:   BYTE;  
            bCommandReg:   BYTE;  
            bReserved:   BYTE;  
      end;  
      TSendCmdInParams   =   packed   record  
          cBufferSize:   DWORD;  
          irDriveRegs:   TIDERegs;  
          bDriveNumber:   BYTE;  
          bReserved:   array[0..2]   of   Byte;  
          dwReserved:   array[0..3]   of   DWORD;  
          bBuffer:   array[0..0]   of   Byte;  
      end;  
      TIdSector   =   packed   record  
          wGenConfig:   Word;  
          wNumCyls:   Word;  
          wReserved:   Word;  
          wNumHeads:   Word;  
          wBytesPerTrack:   Word;  
          wBytesPerSector:   Word;  
          wSectorsPerTrack:   Word;  
          wVendorUnique:   array[0..2]   of   Word;  
          sSerialNumber:   array[0..19]   of   CHAR;  
          wBufferType:   Word;  
          wBufferSize:   Word;  
          wECCSize:   Word;  
          sFirmwareRev:   array[0..7]   of   Char;  
          sModelNumber:   array[0..39]   of   Char;  
          wMoreVendorUnique:   Word;  
          wDoubleWordIO:   Word;  
          wCapabilities:   Word;  
          wReserved1:   Word;  
          wPIOTiming:   Word;  
          wDMATiming:   Word;  
          wBS:   Word;  
          wNumCurrentCyls:   Word;  
          wNumCurrentHeads:   Word;  
          wNumCurrentSectorsPerTrack:   Word;  
          ulCurrentSectorCapacity:   DWORD;  
          wMultSectorStuff:   Word;  
          ulTotalAddressableSectors:   DWORD;  
          wSingleWordDMA:   Word;  
          wMultiWordDMA:   Word;  
          bReserved:   array[0..127]   of   BYTE;  
      end;  
      PIdSector   =   ^TIdSector;  
      TDriverStatus   =   packed   record  
          bDriverError:   Byte;  
          bIDEStatus:   Byte;  
          bReserved:   array[0..1]   of   Byte;  
          dwReserved:   array[0..1]   of   DWORD;  
      end;  
      TSendCmdOutParams   =   packed   record  
          cBufferSize:   DWORD;  
          DriverStatus:   TDriverStatus;  
          bBuffer:   array[0..0]   of   BYTE;  
      end;  
  var  
      hDevice:   Thandle;  
      cbBytesReturned:   DWORD;  
      SCIP:   TSendCmdInParams;  
      aIdOutCmd:   array[0..(SizeOf(TSendCmdOutParams)   +   IDENTIFY_BUFFER_SIZE-1)-1]   of   Byte;  
      IdOutCmd:   TSendCmdOutParams   absolute   aIdOutCmd;  
  procedure   ChangeByteOrder(var   Data;   Size:   Integer);  
  var  
      ptr:   Pchar;  
      i:   Integer;  
      c:   Char;  
  begin  
      ptr   :=   @Data;  
      for   I   :=   0   to   (Size   shr   1)   -   1   do   begin  
          c   :=   ptr^;  
          ptr^   :=   (ptr   +   1)^;  
          (ptr   +   1)^   :=   c;  
          Inc(ptr,   2);  
      end;  
  end;  
  begin  
  Result   :=   '';  
  if   SysUtils.Win32Platform   =   VER_PLATFORM_WIN32_NT   then   begin   //   Windows   NT,   Windows   2000  
  hDevice   :=   CreateFile('\\.\PhysicalDrive0',   GENERIC_READ   or   GENERIC_WRITE,  
  FILE_SHARE_READ   or   FILE_SHARE_WRITE,   nil,   OPEN_EXISTING,   0,   0);  
  end   else   //   Version   Windows   95   OSR2,   Windows   98  
  hDevice   :=   CreateFile('\\.\SMARTVSD',   0,   0,   nil,   CREATE_NEW,   0,   0);  
  if   hDevice   =   INVALID_HANDLE_VALUE   then   Exit;  
  try  
  FillChar(SCIP,   SizeOf(TSendCmdInParams)   -   1,   #0);  
  FillChar(aIdOutCmd,   SizeOf(aIdOutCmd),   #0);  
  cbBytesReturned   :=   0;  
  with   SCIP   do   begin  
  cBufferSize   :=   IDENTIFY_BUFFER_SIZE;  
  with   irDriveRegs   do   begin  
  bSectorCountReg   :=   1;  
  bSectorNumberReg   :=   1;  
  bDriveHeadReg   :=   $A0;  
  bCommandReg   :=   $EC;  
  end;  
  end;  
  if   not   DeviceIoControl(hDevice,   $0007C088,   @SCIP,   SizeOf(TSendCmdInParams)   -   1,  
  @aIdOutCmd,   SizeOf(aIdOutCmd),   cbBytesReturned,   nil)   then   Exit;  
  finally  
  CloseHandle(hDevice);  
  end;  
  with   PIdSector(@IdOutCmd.bBuffer)^   do   begin  
  ChangeByteOrder(sSerialNumber,   SizeOf(sSerialNumber));  
  (Pchar(@sSerialNumber)   +   SizeOf(sSerialNumber))^:=   #0;  
  Result   :=   Pchar(@sSerialNumber);  
  end;  
  end;  
   
  Edit1.Text:=strpas(GetIdeSerialNumber);   //调用  
   
  =========================================================  
  如何有效的保护軟件?  
  procedure   TMainForm.FormActivate(Sender:   TObject);  
  var  
    zcform   :   Tzcform;  
    reg:tregistry;  
    zc_1   :   String;  
  begin  
    reg:=tregistry.Create;  
  with   reg   do  
    begin  
    rootkey:=HKEY_LOCAL_MACHINE;  
    if   KeyExists('software\consid\……')   then  
  begin  
  openkey('software\consid\……',false);  
  zc_1   :=   readstring('zcm');  
    end;  
  end;  
    if   Trim(zc_1)   <>   ''   then  
  begin  
    if   (Date()   -   StrToDateTime(zc_1))   >=   30   then  
  begin  
  Application.MessageBox(Pchar('如果您准备继续使用本软件,请向软件制作者索取正式版本'   +   #13   +   '   ……'   +   #13   +   '再次感谢您使用本软件'),'提示',MB_OK   +   MB_ICONINFORMATION);  
    Close;  
    Application.Terminate;  
    Exit;  
    end;  
    end;  
  if   zc_1   =   ''   then  
    begin  
    //---------------------注册-------------------  
    reg:=tregistry.Create;  
  with   reg   do  
      begin  
  rootkey:=HKEY_LOCAL_MACHINE;  
    openkey('software\consid\……',true);  
    writestring('zcm',DateTimeToStr(Now));  
    closekey;  
  Application.MessageBox(Pchar('感谢您使用本软件,如果在使用过程中发现差错,请您反馈信息'   +   #13   +'……'+   #13   +   '祝您工作愉快'),'提示',MB_OK   +   MB_ICONINFORMATION);  
  free;  
  end;  
  end;  
  //---------------------注册结束---------------  
  end;  
  function   TMainForm.Zcm:   String;  
  begin  
  end;  
  function   TMainForm.GetWindowsProductID:   string;  
  var  
  reg:   TRegistry;  
  begin  
    Result   :=   '';  
    reg   :=   TRegistry.Create;  
    with   reg   do  
    begin  
  RootKey   :=   HKEY_LOCAL_MACHINE;  
    OpenKey('Software\Microsoft\Windows\CurrentVersion',   False);  
    Result   :=   ReadString('ProductID');  
    end;  
    reg.Free;  
  end;  
   
  PS:记得加分给我,仅仅20分是远远不够的,呵~~~Top

相关问题

  • 如何加密exe文件
  • 文件加密
  • 文件加密
  • 文件夹加密
  • 文件夹加密?
  • 文件夹加密?
  • 公布EXE文件加密期源代码
  • 一些对EXE文件加密的软件是如何做的
  • 我想打開經過加密的exe文件該怎麽做?
  • 怎么给一个文件加密呀,比如一个EXE文件

关键词

  • win32
  • 加密
  • word
  • 软件
  • 硬盘
  • aidoutcmd
  • sserialnumber
  • hdevice
  • tsendcmdinparams
  • tsendcmdoutparams

得分解答快速导航

  • 帖主:wnsr
  • yqdragon
  • dengpingyy
  • jackie168
  • zzllabc
  • jackie168

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo