aspr_api.pas
上传用户:graphite
上传日期:2020-09-09
资源大小:2587k
文件大小:6k
源码类别:

破解

开发平台:

Others

  1. unit aspr_api;
  2. interface
  3. uses
  4.   Windows;
  5. type
  6.   //' Mode status
  7.   TModeStatus = packed record
  8.     ModeID           : Byte;
  9.     IsRegistered,
  10.     IsKeyPresent,
  11.     IsWrongHardwareID,
  12.     IsKeyExpired,
  13.     IsModeExpired,
  14.     IsBlackListedKey,
  15.     IsModeActivated  : Boolean;
  16.   end;
  17.   PModeStatus = ^TModeStatus;
  18. function  GetRegistrationKeys: PChar; stdcall;
  19. function  GetRegistrationInformation   ( ModeID : Byte; var Key : PChar; var Name : PChar ): Boolean; stdcall;
  20. function  RemoveKey               ( ModeID : Byte ): Boolean; stdcall;
  21. function  CheckKey                ( Key, Name : PChar; ModeStatus : PModeStatus ): Boolean; stdcall;
  22. function  CheckKeyAndDecrypt      ( Key, Name : PChar; SaveKey: Boolean ): Boolean; stdcall;
  23. function  GetKeyDate              (     ModeID : Byte;
  24.                                     var Day    : WORD;
  25.                                     var Month  : WORD;
  26.                                     var Year   : WORD ): Boolean; stdcall;
  27. function  GetKeyExpirationDate    (     ModeID : Byte;
  28.                                     var Day    : WORD;
  29.                                     var Month  : WORD;
  30.                                     var Year   : WORD ): Boolean; stdcall;
  31. function  GetTrialDays            (     ModeID : Byte;
  32.                                     var Total  : DWORD;
  33.                                     var Left   : DWORD ): Boolean; stdcall;
  34. function  GetTrialExecs           (     ModeID : Byte;
  35.                                     var Total  : DWORD;
  36.                                     var Left   : DWORD ): Boolean; stdcall;
  37. function  GetExpirationDate       (     ModeID : Byte;
  38.                                     var Day    : WORD;
  39.                                     var Month  : WORD;
  40.                                     var Year   : WORD ): Boolean; stdcall;
  41. function  GetModeInformation      (     ModeID     : Byte;
  42.                                     var ModeName   : PChar;
  43.                                     var ModeStatus : TModeStatus ): Boolean; stdcall;
  44. function  GetHardwareID : PChar; stdcall;
  45. function  GetHardwareIDEx         ( ModeID : Byte ) : PChar; stdcall;
  46. function  SetUserKey              ( Key     : Pointer;
  47.                                     KeySize : DWORD ): Boolean; stdcall;
  48. function  InstallActivationKey    ( Key, Name : String ) : Boolean;
  49. implementation
  50. const
  51.   aspr_ide  = 'aspr_ide.dll';
  52. //------------------------------------------------------------------------------
  53. function  GetRegistrationKeys: PChar; external aspr_ide name 'GetRegistrationKeys';
  54. function  GetRegistrationInformation   ( ModeID : Byte; var Key : PChar; var Name : PChar ): Boolean; external aspr_ide name 'GetRegistrationInformation';
  55. function  RemoveKey               ( ModeID : Byte ): Boolean; external aspr_ide name 'RemoveKey';
  56. function  CheckKey                ( Key, Name : PChar; ModeStatus : PModeStatus ): Boolean; external aspr_ide name 'CheckKey';
  57. function  CheckKeyAndDecrypt      ( Key, Name : PChar; SaveKey: Boolean ): Boolean; external aspr_ide name 'CheckKeyAndDecrypt';
  58. function  GetKeyDate              (     ModeID : Byte;
  59.                                     var Day    : WORD;
  60.                                     var Month  : WORD;
  61.                                     var Year   : WORD ): Boolean; external aspr_ide name 'GetKeyDate';
  62. function  GetKeyExpirationDate    (     ModeID : Byte;
  63.                                     var Day    : WORD;
  64.                                     var Month  : WORD;
  65.                                     var Year   : WORD ): Boolean; external aspr_ide name 'GetKeyExpirationDate';
  66. function  GetTrialDays            (     ModeID : Byte;
  67.                                     var Total  : DWORD;
  68.                                     var Left   : DWORD ): Boolean; external aspr_ide name 'GetTrialDays';
  69. function  GetTrialExecs           (     ModeID : Byte;
  70.                                     var Total  : DWORD;
  71.                                     var Left   : DWORD ): Boolean; external aspr_ide name 'GetTrialExecs';
  72. function  GetExpirationDate       (     ModeID : Byte;
  73.                                     var Day    : WORD;
  74.                                     var Month  : WORD;
  75.                                     var Year   : WORD ): Boolean; external aspr_ide name 'GetExpirationDate';
  76. function  GetModeInformation      (     ModeID     : Byte;
  77.                                     var ModeName   : PChar;
  78.                                     var ModeStatus : TModeStatus ): Boolean; external aspr_ide name 'GetModeInformation';
  79. function  GetHardwareID : PChar; external aspr_ide name 'GetHardwareID';
  80. function  GetHardwareIDEx         ( ModeID : Byte ) : PChar; external aspr_ide name 'GetHardwareIDEx';
  81. function  SetUserKey              ( Key     : Pointer;
  82.                                     KeySize : DWORD ): Boolean; external aspr_ide name 'SetUserKey';
  83. //------------------------------------------------------------------------------
  84. function InstallActivationKey( Key, Name : String ) : Boolean;
  85. var
  86.   ModeStatus : TModeStatus;
  87. begin
  88.   Result := False;
  89.   ZeroMemory(@ModeStatus, SizeOf(TModeStatus));
  90.   if aspr_api.CheckKey( PChar(Key), PChar(Name), @ModeStatus ) then
  91.   begin
  92.     with ModeStatus do
  93.      if (IsModeActivated) AND
  94.         ((ModeID = 3) or (ModeID = 4)) then
  95.     begin
  96.       Result := aspr_api.CheckKeyAndDecrypt( PChar(Key), PChar(Name), True );
  97.     end;
  98.   end;
  99. end;
  100. //------------------------------------------------------------------------------
  101. end.