Сброс trial key у ASProtect

автор | 21 Декабрь, 2008
рубрики RCE программирование Комментарии к записи Сброс trial key у ASProtect отключены

Простой поисковик триальных ключей в реестре от ASProtect.

program AsKey;

{$APPTYPE CONSOLE}

uses
  Windows,
  Classes,
  Registry,
  SysUtils;

var KeyRoot, TypeLib: String;
    Reg: TRegistry;
    i: Cardinal;
    ListKey, ValueKey: TStringList;

function Chereda (Vetka: String): boolean;
var vStr, nn0, nn1, nn2: String;
    isBig: Boolean;
    j: cardinal;

begin
   Result:=False;
   if (Reg.OpenKeyReadOnly (Vetka)) then begin
      isBig:=True;
      vStr:=Reg.ReadString (''); Reg.CloseKey;
      if vStr = '' then Exit;
      vStr:=StringReplace (vStr, ' class','', [rfIgnoreCase]);
      vStr:=StringReplace (vStr, ' object','', [rfIgnoreCase]);
      nn1:='q w r t p s d f g h j k l z x c v b n m';
      nn2:='e y u i o a';
      for j:=1 to length (vStr) do begin
         if (isBig) then begin
            if (vStr[j]>'Z') then Exit;
            if Pos (lowerCase (vStr[j]), nn1) > 0 then nn0:=nn1 else nn0:=nn2;
            isBig:=False;
         end;
         if (vStr[j]=' ') or (vStr[j]='.') then begin
            isBig:=True;
            Continue;
         end;
         if Pos (lowerCase (vStr[j]), nn0) = 0 then Exit;
         if nn0 = nn1 then nn0 := nn2 else nn0 := nn1;
      end;
      Result:=True;
   end;
end;

begin
   Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE;
   KeyRoot:='SOFTWARE\Classes'; ListKey:=TStringList.Create; ValueKey:=TStringList.Create;
   Reg.OpenKeyReadOnly (KeyRoot+'\CLSID'); Reg.GetKeyNames (ListKey); Reg.CloseKey;
   for i:=0 to ListKey.Count-1 do begin
      if Reg.OpenKeyReadOnly (KeyRoot+'\CLSID\'+ListKey[i]+'\TypeLib') then begin
         TypeLib:=Reg.ReadString (''); Reg.CloseKey;
         if Reg.OpenKeyReadOnly (KeyRoot+'\TypeLib\'+TypeLib) then begin
            Reg.GetValueNames (ValueKey);
            if (ValueKey.Count=1) and (Reg.ReadString ('')='') then begin
               Reg.CloseKey;
               if (Chereda (KeyRoot+'\CLSID\'+ListKey[i])) then begin
                  Writeln ('HKEY_LOCAL_MACHINE\'+KeyRoot+'\CLSID\', ListKey[i]);
                  Writeln ('HKEY_LOCAL_MACHINE\'+KeyRoot+'\TypeLib\', TypeLib);
               end;
            end;
            Reg.CloseKey;
         end;
         Reg.CloseKey;
      end;
   end;
   ListKey.Free; ValueKey.Free;
   Reg.RootKey := HKEY_CURRENT_USER;
   if Reg.KeyExists ('Software\Asprotect\SpecData') then begin
      Writeln ('HKEY_CURRENT_USER\Software\AsProtect');
   end;
   Reg.Free;
   Readln;
end.

 

Автор: syd

Оценить эту тему:
1 звезда2 звезды3 звезды4 звезды5 звезд (1 голосов, средний: 5,00 из 5)
Loading...Loading...
Популярность: 5 691 просмотров
Вы можете следить за любыми ответами на эту запись через RSS 2.0 feed. Комментарии в настоящее время закрыты.