Помощь с куском кода Delphi

Ќacnєp

Постоялец
Регистрация
14 Окт 2006
Сообщения
109
Реакции
22
Добрый день.
Помогите пожалуйста, я новичек в декомпиляции.
Нужно расшифровать строчку, не могу понять что в ней заложено.
Код:
procedure sub_00833A88(?:UnicodeString; ?:UnicodeString);
begin//0
  //00833A88
  //push EBX
  EBX := arg_1;
  lvar_4 := arg_0;
  EAX := arg_0;
  try
    //00833AA8
    EAX := EBX;//arg_1
    arg_1 := '';
    EAX := arg_0;
    EAX := Length(EAX);
    //00833ABB
    EAX := arg_0;
    EAX := arg_0;
    //нужно расшифровать строчку ниже
    if (EAX{Length(arg_0)} < $16{22}) Or (EAX{Length(arg_0)} > $17{23}) Or ( <> $36{54}) Or ( <> $2D{45}) then 
    begin//2
      //00833AD9
      EAX := EBX;//arg_1
      EDX := $833B2C;
      arg_1 := 'not a valid version 1 key'+#0;
      Exit;
    end;//2
    EAX := arg_0;
    if ( = $47{71}) then Exit;
    EAX := EBX;//arg_1
    EDX := $833B8C;
    arg_1 := 'not a valid premium version key'+#0;
  finally//1
    //00833B09
    lvar_4 := '';
  end;//1
end;//0
 
if (EAX{Length(arg_0)} < $16{22}) Or (EAX{Length(arg_0)} > $17{23}) Or ("пропущен указатель на позицию в строке"<> $36{54}) Or ("пропущен указатель на позицию в строке" <> $2D{45}) then
Если длина строки меньше 22 символов или длина строки больше 23 символов, или символ не равен "6" ($36), или символ не равен "-"($2D), то вывести строку "not a valid version 1 key"

Дальше проверить
if ("пропущен указатель на позицию в строке" = $47{71}) then Exit;
Если символ равен "G", то закончить проверку. Иначе - вывести строку "not a valid premium version key".

Понимаю, что время прошло, но было интересно подумать.
 
Назад
Сверху