На нашем форуме вы можете получить приватный чит для игры Euro Truck Simulator 2. Подробности по ссылке ниже:
Тема с читом на Euro Truck Simulator 2
Nanark

нужен движок для трейнера для Delphi XE с AOB Scan

Рекомендуемые сообщения

Мне нужен исходник любого трейнера написаный на Delphi XE с использованием AOB Scan
либо модули для создания читов на Delphi XE
если у вас завалялся какой то исходник или модули, и вам не жалко их вылаживать

то тогда скиньте мне????
за ранее спасибо

Мне нужны такие модули:
memoryscan.pas

Cheats Holder FULL.pas
uMSE.pas (не .dcu)

Изменено пользователем Nanark

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что, по-твоему, делают модули 

Cheats Holder Full и uMSE?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Cheats Holder FULL - это такой типо модуль для защиты сигнатур, чтобы небыло так просто достать сигнатуры с чита
а uMSE это модуль для сканирования памяти
и memoryscan тож сканирует память ток уже быстрее, тоесть лучьше чем uMSE

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 минут назад, Nanark сказал:

Cheats Holder FULL - это такой типо модуль для защиты сигнатур, чтобы небыло так просто достать сигнатуры с чита

Элементарное xor шифрование - и все, сигнатуры из чита не достать. По крайней мере, просто не достать. Если постараться - достать можно, конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Спойлер

unit CheatsHolder_FULL;

interface

uses
  Winapi.TlHelp32, System.StrUtils, ShellApi,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;

procedure AntiScanCE_Start();
function AntiSpy: Boolean;
function CryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;
function DeCryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;

implementation

var
 poisk: string;

function DelDir(dir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom := PChar(dir + #0);
  end;
Result := (0 = ShFileOperation(fos));
end;

function GetWin(Comand: string): string;
var
  buff: array [0 .. $FF] of char;
begin
  ExpandEnvironmentStrings(PChar(Comand), buff, SizeOf(buff));
  Result := buff;
end;

procedure AntiScanCE_Start();
var
  Dir: string;
  searchResult: TSearchRec;
  lines: TSTringList;
  poisk: string;
  I: Integer;
begin
  try

      poisk := GetWin('%AppData%');
      poisk := Copy(poisk, Pos('', poisk) + 0, Pos('\Roaming', poisk) - Pos('', poisk) - 1);
      poisk := (poisk) + '\Local\Temp\Cheat Engine';
      DelDir(poisk);
      CreateDir(poisk);

      if Lines.Strings[2] = '' then
      else  Halt;

      Lines := TSTringList.Create;
      begin
        lines.Clear;
        SetCurrentDir(poisk);
        if FindFirst('*.*', faAnyFile, searchResult) = 0 then
        begin
          repeat
            Lines.Add(searchResult.Name);
              if Lines.Strings[2] = '' then
              begin
               Halt;
              end
              else
              begin
                Halt;
              end;
          until FindNext(searchResult) <> 0;
            FindClose(searchResult);
        end;
      end;
      Lines.Free;
  except
  end;
end;

function CryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;
var
  i, q: Integer;
begin
  for i := 1 to Length(Signa) do
    begin
      q := (Ord(Signa[i]) + (Ord(CryptBuffer[(Pred(i) mod Length(CryptBuffer)) + 1]) - Ord('0')));
        if q >= 256 then Dec(q, 256);
      Signa[i] := Chr(q);
      Result := Signa;
    end;
end;

function DeCryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;
var
  i, q: Integer;
begin
  for i := 1 to Length(Signa) do
    begin
      q := (Ord(Signa[i]) - (Ord(CryptBuffer[(Pred(i) mod Length(CryptBuffer)) + 1]) - Ord('0')));
        if q < 0 then Inc(q, 256);
      Signa[i] := Chr(q);
      Result := Signa;
    end;
end;

function IsDebuggerPresent(): boolean; stdcall; external 'kernel32.dll';



function breakpoint(const addr: Pointer): Boolean;
begin
  try
    Result := (PByte(addr)^ = $CC) or (PByte(addr)^ = $E9) or (PByte(addr)^ = 104);
  except
    Result := True;
  end;
end;

function IsHacked: Boolean;
begin
  Result := breakPoint(GetProcAddress(GetModuleHandle('kernel32.dll'), 'WriteProcessMemory'));
end;

function AntiSpy: Boolean;
begin
  if IsHacked then
  begin
  SHowMessage('Bitch, off you soft!');
    {Halt;
    Application.Terminate;}
  end;
end;


end.


{
function IsBreakOnFunc(Address : Pointer):BOOL;
begin

try
  Result :=  (Pbyte(Address)^ = $CC) or (Pbyte(Address)^ = $CD)
  or (Pbyte(Address)^ = $CE) or (PByte(Address)^ = $E9) or (PByte(Address)^ = 104);
except
  Result := True;
end;

end;                                                    //


procedure CheckMyFunc(Libname, Funcname: PWideChar);
begin
VM_TIGER_RED_START();
  if IsBreakOnFunc(GetProcAddress(GetModuleHandle(Libname), Funcname)) then
  TerminateProcess(GetCurrentProcess, 0);
VM_TIGER_RED_END();
end;
}

 

 

 

лучше свое написать
 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 22.06.2018 в 14:11, mrPTyshnik сказал:
  Скрыть контент


unit CheatsHolder_FULL;

interface

uses
  Winapi.TlHelp32, System.StrUtils, ShellApi,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;

procedure AntiScanCE_Start();
function AntiSpy: Boolean;
function CryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;
function DeCryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;

implementation

var
 poisk: string;

function DelDir(dir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom := PChar(dir + #0);
  end;
Result := (0 = ShFileOperation(fos));
end;

function GetWin(Comand: string): string;
var
  buff: array [0 .. $FF] of char;
begin
  ExpandEnvironmentStrings(PChar(Comand), buff, SizeOf(buff));
  Result := buff;
end;

procedure AntiScanCE_Start();
var
  Dir: string;
  searchResult: TSearchRec;
  lines: TSTringList;
  poisk: string;
  I: Integer;
begin
  try

      poisk := GetWin('%AppData%');
      poisk := Copy(poisk, Pos('', poisk) + 0, Pos('\Roaming', poisk) - Pos('', poisk) - 1);
      poisk := (poisk) + '\Local\Temp\Cheat Engine';
      DelDir(poisk);
      CreateDir(poisk);

      if Lines.Strings[2] = '' then
      else  Halt;

      Lines := TSTringList.Create;
      begin
        lines.Clear;
        SetCurrentDir(poisk);
        if FindFirst('*.*', faAnyFile, searchResult) = 0 then
        begin
          repeat
            Lines.Add(searchResult.Name);
              if Lines.Strings[2] = '' then
              begin
               Halt;
              end
              else
              begin
                Halt;
              end;
          until FindNext(searchResult) <> 0;
            FindClose(searchResult);
        end;
      end;
      Lines.Free;
  except
  end;
end;

function CryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;
var
  i, q: Integer;
begin
  for i := 1 to Length(Signa) do
    begin
      q := (Ord(Signa[i]) + (Ord(CryptBuffer[(Pred(i) mod Length(CryptBuffer)) + 1]) - Ord('0')));
        if q >= 256 then Dec(q, 256);
      Signa[i] := Chr(q);
      Result := Signa;
    end;
end;

function DeCryptSign(Signa: string; const CryptBuffer: String = 'MonsterByte'): String;
var
  i, q: Integer;
begin
  for i := 1 to Length(Signa) do
    begin
      q := (Ord(Signa[i]) - (Ord(CryptBuffer[(Pred(i) mod Length(CryptBuffer)) + 1]) - Ord('0')));
        if q < 0 then Inc(q, 256);
      Signa[i] := Chr(q);
      Result := Signa;
    end;
end;

function IsDebuggerPresent(): boolean; stdcall; external 'kernel32.dll';



function breakpoint(const addr: Pointer): Boolean;
begin
  try
    Result := (PByte(addr)^ = $CC) or (PByte(addr)^ = $E9) or (PByte(addr)^ = 104);
  except
    Result := True;
  end;
end;

function IsHacked: Boolean;
begin
  Result := breakPoint(GetProcAddress(GetModuleHandle('kernel32.dll'), 'WriteProcessMemory'));
end;

function AntiSpy: Boolean;
begin
  if IsHacked then
  begin
  SHowMessage('Bitch, off you soft!');
    {Halt;
    Application.Terminate;}
  end;
end;


end.


{
function IsBreakOnFunc(Address : Pointer):BOOL;
begin

try
  Result :=  (Pbyte(Address)^ = $CC) or (Pbyte(Address)^ = $CD)
  or (Pbyte(Address)^ = $CE) or (PByte(Address)^ = $E9) or (PByte(Address)^ = 104);
except
  Result := True;
end;

end;                                                    //


procedure CheckMyFunc(Libname, Funcname: PWideChar);
begin
VM_TIGER_RED_START();
  if IsBreakOnFunc(GetProcAddress(GetModuleHandle(Libname), Funcname)) then
  TerminateProcess(GetCurrentProcess, 0);
VM_TIGER_RED_END();
end;
}

 

 

 

лучше свое написать
 

 

 

покажите пожалуйста пример того как им зашифровать сигнатуры ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, Ярослав сказал:

где взять Winapi.TlHelp32.pas-dcu ?? 

Какая версия Delphi?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 часов назад, Ярослав сказал:

7

Тогда нужно просто подключать TlHelp32, без WinAPI. Выше указана нотация для более свежих версий Delphi.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Ярослав сказал:

фото вот как этом модулём зашифровать сигнатуры ?

 

На фото ничего не разглядеть, приложи, пожалуйста, нормального размера.

 

Спойлер

2C09FFeJO4o.jpg

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, srg91 сказал:

 

На фото ничего не разглядеть, приложи, пожалуйста, нормального размера.

 

  Показать контент

2C09FFeJO4o.jpg

 

 

На фото было просто показано что при декомпиляции программы сигнатуры были в обычном виде,  вопрос как их зашифровать ?? ведь этот модуль должен как-то их шифровать ? или для чего он тогда ? Cheats Holder FULL

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
21 минуту назад, Ярослав сказал:

что при декомпиляции программы сигнатуры были в обычном виде,  вопрос как их зашифровать ??

Может стоит разобраться для начала как компилируется программа? Подобные вопросы вызывают у меня ужас.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
39 минут назад, partoftheworlD сказал:

Может стоит разобраться для начала как компилируется программа? Подобные вопросы вызывают у меня ужас.

Извините, я не где не нашол информации про этот модуль, не могли бы вы написать инструкцию как им пользоваться ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, Ярослав сказал:

Извините, я не где не нашол информации про этот модуль, не могли бы вы написать инструкцию как им пользоваться ?

Дело не в модуле, а в компиляции программы, если ты кладешь строку на шифровку и компилируешь, то компилятор сохранит исходную строку, до шифрования. Хочешь скрыть, зашифруй и при использовании клади зашифрованную сигнатуру в функцию расшифровки, при декомпозиции будет зашифрованная строка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
uses CheatsHolder_FULL;

begin
	WriteLn( CryptSign('90 90 90 90 90 90 90 90 90', 'AnyConst'));//получаем шифрованное значение - JniLo^|t1wy3xnc}A^?C_wsdJn
	
	//расшифровываем:
	WriteLn( DecryptSign('JniLo^|t1wy3xnc}A^?C_wsdJn', 'AnyConst'));//выведет 90 90 90 90 90 90 o0 90 90
	ReadLn;
end.


в реальном трейнере необходимо оставить только часть которая расшифровывает сигнатуру(строку):

uses CheatsHolder_FULL;

 
begin
	WriteLn( DecryptSign('JniLo^|t1wy3xnc}A^?C_wsdJn', 'AnyConst'));//вывод на экран 90 90 90 90 90 90 o0 90 90
    ReadLn;
end.


DecryptSign с байтами FF FF работает некорректно, в расшифрованной строке аномалии(если будешь использовать, придется фиксить)
Ну и приглядитесь к выводу "90 90 90 90 90 90 o0 90 90" ?

Изменено пользователем mrPTyshnik
правка текста2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В данном топике никто не постил уже 4 месяца. Пости здесь только если твой вопрос точно совпадает с темой данного топика.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Предпросмотр