1. Apache07.05.2025 в 07:32от
Загрузка...

Активация через ключ

Тема в разделе "Софт", создана пользователем yoKep, 12.04.2014.

  1. yoKep

    yoKep

    Статус:
    Оффлайн
    Регистрация:
    27.03.14
    Сообщения:
    63
    Репутация:
    26 +/-
    Здравствуйте!
    Я ноль в Delphi, но может вы подскажете где найти уроки как сделать программу, туда засунуть чит от игры(2файла-dll и exe) и поставить на программу ключ активации.
    Я хочу эту программу дать людям и чтобы они не смогли передать ее кому-то другому, а только использовать на своем компьютере! И чтобы не было повторной активации одного и того же ключа!

    Думаю понятно обьяснил.
    Надеюсь на вашу помощь, спасибо!
     
  2. golden103

    golden103

    Статус:
    Оффлайн
    Регистрация:
    11.02.13
    Сообщения:
    15
    Репутация:
    0 +/-
  3. Goul

    Goul

    Статус:
    Оффлайн
    Регистрация:
    07.04.14
    Сообщения:
    6
    Репутация:
    1 +/-
    Поищи в интернете стандартные процедуры по добыче сериников. Используй связку таких данных. Например, sha1(md5(Серийник HDD) + MAC сетевой) уже довольно сложно будет сломать\подобрать. Поиграй со строчками\символами. В видео коряво это сделано, лучше так:
    Объяви приватную переменную KEY и переведи её в hex
    потом в процедуре создания формы проверяй их совпадения, и если различаются - убивай процесс. Если встроишь в прогу антиотладчик и закриптуешь её, будет средненькая защита.
    PHP:
    procedure TMainForm.Create();
    begin

      
    if HexToString(KEY) <> GetLocalKey then
      begin
        MessageBox
    (Self.Handle'Ваша программа была украдена!''Внимание!'MB_ICONWARNING);
        
    TerminateProcess(GetCurrentProcess(), 0); // завершаем наш процесс
      
    end;

    end;
    function StringToHex(S: String): string;
    function HexToString(H: String): String;



    function StringToHex(S: String): string;
    var I: Integer;
    begin
    Result:= '';
    for I := 1 to length (S) do
    Result:= Result+IntToHex(ord(S),2);
    end;

    function HexToString(H: String): String;
    var I: Integer;
    begin
    Result:= '';
    for I := 1 to length (H) div 2 do
    Result:= Result+Char(StrToInt('$'+Copy(H,(I-1)*2+1,2)));
    end;