Перейти к содержанию

DenkA003

Заблокированные
  • Постов

    232
  • Зарегистрирован

  • Посещение

  • Победитель дней

    29

Сообщения, опубликованные DenkA003

  1. Всем привет !! Нужна ваша помощь ))) 

    Как выделить в чужом процессе свободное пространство как это делает функция AllocMem ?

    А то получается создать свободное пространство только в своем процессе ((

    Delphi. Функция AllocMem( Size: Cardinal ): Poiner;Модуль: SysUtilsОписаниеФункция выделяет на куче блок памяти размером Size байт, заполняет его нулями и возвращает указатель на начало блока.
  2. Сам использую функцию 

     function G_Base(ProcessID: Cardinal; MName: String): Pointer; var   Modules         : Array of HMODULE;   cbNeeded, i     : Cardinal;   ModuleInfo      : TModuleInfo;   ModuleName      : Array[0..MAX_PATH] of Char;   PHandle         : THandle; begin   Result := nil;   SetLength(Modules, 1024);   PHandle := OpenProcess(PROCESS_QUERY_INFORMATION + PROCESS_VM_READ, False, ProcessID);   if (PHandle <> 0) then   begin     EnumProcessModules(PHandle, @Modules[0], 1024 * SizeOf(HMODULE), cbNeeded);     SetLength(Modules, cbNeeded div SizeOf(HMODULE));     for i := 0 to Length(Modules) - 1 do     begin       GetModuleBaseName(PHandle, Modules[i], ModuleName, SizeOf(ModuleName));       if AnsiCompareText(MName, ModuleName) = 0 then       begin         GetModuleInformation(PHandle, Modules[i], @ModuleInfo, SizeOf(ModuleInfo));         Result := ModuleInfo.lpBaseOfDll;         CloseHandle(PHandle);         Exit;       end;     end;   end; end;

    Применить : 

    varGAME_BasseAdress : Cardinal;ProcessId : Cardinal;beginTERA_BasseAdress := $0+Ulong(G_Base(ID процесса, 'Название файла .dll или .exe '));//TERA_BasseAdress := $0+Ulong(G_Base(ProcessId, 'TERA.exe'));ShowMessage(IntToStr('$'+TERA_BASSEADRESS));end;
  3. Я модеру уже написал - что когда стал загружать трейнер,мне вылезло сообщение - что я не могу файлы с таким расширение загружать.

    оО что за расширение такие ? .rar .zip .txt .jpg норм все загружаются

  4. Не много глупо утверждать о краже сигнатур ... ведь функций мог бы сделать больше нужно реализация скриптов ,а мне лень прописывать в ручную все jmp call и прочие. поэтому сделал самые доступные функции ...

    Пример : я же не кричу что кто то своровал мои функции с трейнера Plants vs Zombies ведь с какой стороны ты не зайди там все го 5-6 инструкций которые отвечают за изменения адреса и будет логично что хороший программист выберет более подходящую инструкция для изменения и в дальнейшем составления сигнатуры ....

  5. Название: Collapse +3

    Добавил: DenkA003

    Добавлен: 20 Янв 2015

    Категория: Трейнеры

     

    52b87f6e337deb8ae29c4cc37f497096.png
    badge32222.png Сводка: badge32222.png
    ==-==-==-==-==-==
    about-me222.png Автор:> DenkA003
    My-blog221312.png Издание:> gamehacklab
    dvd2.png Версия Игры:> v1.1
    chat2.png Язык Трейнера:> 681b47b3614cc81cd85ddbcc6fa8ad75.gif
    lamp2.png Количество Функций:> 3
    date2.png Дата Создания Трейнера:> 20-01-2015

    horn32222.png Инструкция: horn32222.png
    ==-==-==-==-==-==
    Next.png Скопировать все файлы из архива на робочий стол
    Next.png Сначала запускаете игру, минимизируете, запускаете трейнер, нажимаем кнопку Insert чтобы активировать трейнер
    Next.png Активация функций происходит на Numpad 1-4
    Next.png Функция Invisibility делает вас невидимым
    Next.png Функция Kill All Enemies убивает все врагов вокруг вас (Функцию нужно включить и сразу выключить)(при этом оставляя вас 0.3% здоровья) функцию можно повторно использовать после 3-5 секунд(чтобы использовать функцию повторно нужно использовать аптечку или подождать 1-3 секунды пока система вам не восстановит 1% здоровья)

     

     

    • Плюс 1
  6. Название: Crimsonland 2 +4

    Добавил: DenkA003

    Добавлен: 20 Янв 2015

    Категория: Трейнеры

     

    7b23750a120e353c0bd3ad9964aa8af7.png

    badge32222.png Сводка: badge32222.png
    ==-==-==-==-==-==
    about-me222.png Автор:> DenkA003
    My-blog221312.png Издание:> gamehacklab
    dvd2.png Версия Игры:> v1.9.9.2
    chat2.png Язык Трейнера:> 681b47b3614cc81cd85ddbcc6fa8ad75.gif
    lamp2.png Количество Функций:> 4
    date2.png Дата Создания Трейнера:> 20-01-2015

    horn32222.png Инструкция: horn32222.png
    ==-==-==-==-==-==
    Next.png Скопировать все файлы из архива на робочий стол
    Next.png Сначала запускаете игру, минимизируете, запускаете трейнер, нажимаем кнопку Insert чтобы активировать трейнер
    Next.png Активация функций происходит на Numpad 1-4
    Next.png Функция Change Weapon станет доступной после того как активировали трейнер и нажали кнопку Numpad 4
    Next.png После Активации Change Weapon нажимайте от F1 до F9 что бы сменить оружие

     

  7. Название: Nation_Red[Зомбилэнд] +7

    Добавил: DenkA003

    Добавлен: 19 Янв 2015

    Категория: Трейнеры

     

    29767062d9e591f223e4d7a1d1244f1a.png

    badge32222.png Сводка: badge32222.png
    ==-==-==-==-==-==
    about-me222.png Автор:> DenkA003
    My-blog221312.png Издание:> gamehacklab
    dvd2.png Версия Игры:> v1.0.4.1
    chat2.png Язык Трейнера:> 681b47b3614cc81cd85ddbcc6fa8ad75.gif
    lamp2.png Количество Функций:> 7
    date2.png Дата Создания Трейнера:> 19-01-2015

    horn32222.png Инструкция: horn32222.png
    ==-==-==-==-==-==
    Next.png Скопировать все файлы из архива на робочий стол
    Next.png Сначала запускаете игру, минимизируете, запускаете трейнер, нажимаем кнопку Insert чтобы активировать трейнер
    Next.png Активация функций происходит на Numpad 1-7
    Next.png Функция Change Weapon станет доступной после того как активировали трейнер и нажали кнопку Numpad 6
    Next.png После Активации Change Weapon нажимайте от F1 до F6 что бы сменить оружие
    Next.png Чтобы просмотреть список доступных оружий наведите курсор мишки на Функцию в трейнер

    horn32222.png Список Оружия: horn32222.png
    ==-==-==-==-==-==
    F1-Пулёмет
    F2-Ак 47
    F3-Огнемет
    F4-Гвоздомёт
    F5-Гранатомёт
    F6-Две Узи

     

     

  8. Название: Zombie Driver +8

    Добавил: DenkA003

    Добавлен: 19 Янв 2015

    Категория: Трейнеры

     

    0e25e144cc85577f0804a0f185388dba.png
    badge32222.png Сводка: badge32222.png
    ==-==-==-==-==-==
    about-me222.png Автор:> DenkA003
    My-blog221312.png Издание:> gamehacklab
    dvd2.png Версия Игры:> v2.0.0.10
    chat2.png Язык Трейнера:> 681b47b3614cc81cd85ddbcc6fa8ad75.gif
    lamp2.png Количество Функций:> 8
    date2.png Дата Создания Трейнера:> 19-01-2015

    horn32222.png Инструкция: horn32222.png
    ==-==-==-==-==-==
    Next.png Скопировать все файлы из архива на робочий стол
    Next.png Сначала запускаете игру, минимизируете, запускаете трейнер, нажимаем кнопку Insert чтобы активировать трейнер
    Next.png Активация функций происходит на Numpad 1-8
    Next.png Функция Change Cars станет доступной после того как активировали трейнер и нажали кнопку Numpad 8

    Next.png Функцию активируем в разделе Магазин
    Next.png После Активации Change Weapon нажимайте от F1 до F6 что бы сменить автомобиль
    Next.png Чтобы функция работала нужно переключить или улучшить текущий автомобиль или же выйти из Магазина и зайти обратно 2-3 раза пока не измениться ваш текущий автомобиль

    horn32222.png Список Автомобилей: horn32222.png
    ==-==-==-==-==-==
    F1 - Спортивная Машина
    F2 - Лимузин
    F3 - Автобус
    F4 - Скорая Помощь
    F5 - Полицейская Машина
    F6 - Супер Автомобиль

     

     

  9. unction ScanSignature(base: Cardinal; size: Cardinal; sign: PByte; mask: PAnsiChar): integer;var  mbi: MEMORY_BASIC_INFORMATION;  offset: Cardinal;  buffer: PByte;  BytesRead: Cardinal;  i: integer;begin  offset := 0;  while (offset < size) do  begin    VirtualQueryEx(m_hProc, Pointer(base + offset), mbi, sizeof(MEMORY_BASIC_INFORMATION));    if (mbi.State <> MEM_FREE) then    begin      GetMem(buffer, mbi.RegionSize);      ReadProcessMemory(m_hProc, mbi.BaseAddress, buffer, mbi.RegionSize, BytesRead);      for i := 0 to mbi.RegionSize do      begin        if (DataCompare(PByte(Integer(buffer) + i), sign, mask)) then        begin          FreeMem(buffer);          result := integer(mbi.BaseAddress) + i;          exit;        end;      end;      FreeMem(buffer);    end;    offset := offset + mbi.RegionSize;  end;  result := 0;                          end;

    Вот функция сканирования, которая ток статические сканирует.

     

     

    попытайся поменять 

    if (mbi.State <> MEM_FREE) then beginGetMem(buffer, mbi.RegionSize);

    на 

    if (mbi.State=MEM_COMMIT) and not (mbi.Protect = PAGE_READWRITE)then begin GetMem(Buf, Mbi.RegionSize); и тд

     

  10. Если я знаю как это сделать мне не составит труда помочь человеку в начинаниях ,... возможно он и мне когда то поможет если я что то понимать не буду

    Если тебя такой подход не устраивает, насильно на нашем ресурсе мы не держим.

    кк без проблем ...

  11. не... мне PID не нужен....

    http://hkar.ru/ttv6

    http://hkar.ru/ttvk

    http://hkar.ru/ttvo

    аа тебе нужен стартовый адрес процесса ?

    Вот тебе Функция



    Uses psapi,TlHelp32 ;

    var
    Form1: TForm1;
    prID: Cardinal;


    function GetModuleBaseAddress(ProcessID: Cardinal; MName: String): Pointer;
    var
    Modules : Array of HMODULE;
    cbNeeded, i : Cardinal;
    ModuleInfo : TModuleInfo;
    ModuleName : Array[0..MAX_PATH] of Char;
    PHandle : THandle;
    begin
    Result := nil;
    SetLength(Modules, 1024);
    PHandle := OpenProcess(PROCESS_QUERY_INFORMATION + PROCESS_VM_READ, False, ProcessID);
    if (PHandle <> 0) then
    begin
    EnumProcessModules(PHandle, @Modules[0], 1024 * SizeOf(HMODULE), cbNeeded); //Getting the enumeration of modules
    SetLength(Modules, cbNeeded div SizeOf(HMODULE)); //Setting the number of modules
    for i := 0 to Length(Modules) - 1 do //Start the loop
    begin
    GetModuleBaseName(PHandle, Modules[i], ModuleName, SizeOf(ModuleName)); //Getting the name of module
    if AnsiCompareText(MName, ModuleName) = 0 then //If the module name matches with the name of module we are looking for...
    begin
    GetModuleInformation(PHandle, Modules[i], @ModuleInfo, SizeOf(ModuleInfo)); //Get the information of module
    Result := ModuleInfo.lpBaseOfDll; //Return the information we want (The image base address)
    CloseHandle(PHandle);
    Exit;
    end;
    end;
    end;
    end;

    function GetProcess(FileName: string): Cardinal;
    var
    hSnap:THandle;
    prEntry:PROCESSENTRY32;
    begin
    Result:=0;
    hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    prEntry.dwSize:=SizeOf(prEntry);
    If Process32First(hSnap,prEntry) then
    begin
    While Process32Next(hSnap,prEntry) do
    Begin
    If prEntry.szExeFile = FileName then
    Result:=Cardinal(prEntry.th32ProcessID);
    End;
    end;
    CloseHandle(hSnap);
    end;

    Использование :


    const
    ProcessName='TERA.exe';
    var
    ReadBaseAdressHex:string;
    begin
    prID:=GetProcess(ProcessName);
    ReadBaseAdressHex:= IntToHex(Ulong(GetModuleBaseAddress((prID),ProcessName)),Length(ReadBaseAdressHex));
    Edit1.Text := ReadBaseAdressHex;
    end;
    procedure TForm1.Button1Click(Sender: TObject);

  12. Нет?

    http://forum.gamehacklab.ru/forum/4-вопросы-по-созданиюпрограммированию-трейнеро

    ладно, помогу чем смогу :-D я сегодня добрый


    Uses tlhelp32

    ...

    var
    hSnap:THandle;
    pe:TProcessEntry32;
    pid: DWORD;
    begin
    pe.dwSize:=SizeOf(pe);
    hSnap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    If Process32First(hSnap,pe) then
    While Process32Next(hSnap,pe) do
    if ExtractFileName(pe.szExeFile)='mRemote.exe' then
    showmessage(IntToStr(pe.th32ProcessID));

    Адрес процесса называется PID в простонародье... 8-)

    а полное название ProcessID))

  13. А все таки как записывать такую структуру с вопросиками в делфи?

    здесь так и писать

    http://forum.gamehac...81%D1%81%D0%B5/

    а вот здесь просто замени ?? на FF и когда будешь делать маску просто став 1 ?

    http://forum.gamehacklab.ru/topic/2615-%D1%81%D0%BA%D0%B0%D0%BD%D0%B5%D1%80-%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D1%82%D1%83%D1%80-%D0%B4%D0%BB%D1%8F-delphi-by-arxlex/

  14. Спасибо большое за видео(плюсик кинуть не могу - пишет лимит)...

    Но, реально большое спасибо, теперь хоть как нибудь смогу разобраться!

    Единственное, я не понял зачем ставить ?? вместо байт? Кто расскажет суть?

    Когда я буду писать массив в паскале, мне что писать примеру массив байт {5a, 3a, ??, ??, 2d} заменить на {3a, 5a, ??, ??, 2d }?

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

    Если сигнатура изменилась то и байты естественно будут другими, для этого и прописывают знаки вопроса чтобы сигнатура была рабочей всегда

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.