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

VoLT

Пользователи
  • Постов

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

  • Посещение

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

    1

Весь контент VoLT

  1. Перехват функций + вызов функций игр написанных на Delphi library sr2;uses Windows , SysUtils , DDetours // https://code.google.com/p/delphi-detours-library/ ;{$R *.res}var dwThrdHack: Dword = 0; dwThrdMain: Dword = 0; dwThrdKeys: Dword = 0; CALL: Boolean = False; Trampoline: function( p0: Integer; p1: Integer; p2: Integer; p3: WideString): Integer; dwLoadOffset: Dword;function TrampolineFunc( p0: Integer; p1: Integer; p2: Integer; p3: WideString): Integer;begin OutputDebugString(PWideChar(p3)); Result := Trampoline(p0, p1, p2, p3);end;Function FuncKeys(const LPVOID: variant): Boolean;begin while (True) do begin if (GetAsyncKeyState(VK_END) <> 0) then CALL := True; sleep(100); end;end;function FuncMain(const LPVOID: variant): Boolean;begin while (True) do begin asm pushad; end; if CALL then begin OutputDebugString('FPS'); CALL := False; end; sleep(100); asm popad; end; end;end;Function HackThread(): Dword;var cHandle: Cardinal;begin repeat sleep(500); until (dwThrdMain = 0); dwLoadOffset := GetModuleHandle(nil); Dec(dwLoadOffset, $400000); @Trampoline := InterceptCreate(Pointer($0051DD38 + dwLoadOffset), @TrampolineFunc); CreateThread(nil, 0, @FuncKeys, nil, 0, dwThrdKeys); CreateThread(nil, 0, @FuncMain, nil, 0, dwThrdMain); Result := 0;end;procedure DllMain(reason: Integer);begin case reason of DLL_PROCESS_ATTACH: begin CreateThread(nil, 0, @HackThread, nil, 0, dwThrdHack); end; DLL_PROCESS_DETACH: begin if dwThrdMain <> 0 then CloseHandle(dwThrdMain); if dwThrdKeys <> 0 then CloseHandle(dwThrdKeys); end; end;end;begin OutputDebugString('inject'); DisableThreadLibraryCalls(hInstance); DllProc := @DllMain; DllProc(DLL_PROCESS_ATTACH);end.
  2. Не ужель дождались ) позже попробую сделать тутор по вызовам )
  3. KoBRaAndrey в общем совет: изучи этот архив http://www.datafilehost.com/download-52bdd47a.html, переделай под GTAIII и будет счастье - третья от вайса отличается мало чем. Тот же RAGE тока довели до ума мотики
  4. Не понимаю какого лешего этот вопрос тут, но раз хотели ответ, получайте http://www.hiew.ru/f.../sencalc106.zip он ещё и складывать умеет всё в ReadMe// MasterGH: программу скинул. Сообщения почистил. Пользоваться ли этой программой решайте сами.
  5. Уж лучше datafilehost.com ... у многих с народа тянет в час по чайной ложке
  6. Далеко не всё можно реализовать изменением каких либо значений, например добавление в игру определённого оружия, или скажем каких либо игровых бонусов, а иногда в разы проще реализовать через процедуры игры. И так мной была написана DLL работоспособная на Космических рейнджерах 2: Перезагрузка которая добавляет текст в игру используя процедуры в игре void AddMsg() { BSTR bstr = SysAllocString(L"Галактика в опасности!"); int curtime = *(DWORD *)(*(DWORD *)(*(DWORD *)(0x007058D0))+0x48); // в CE 0x007058D0+0x48 //данный способ универсален можно расписать до сколь угодно глубокого вложения _call(0x006B67BC, 3, 7, curtime, bstr); // первый параметр адрес второй количество параметров остальное параметры DWORD *screens = *(DWORD **)(0x007056BC); BYTE index = *(BYTE *)(*(DWORD *)(0x00705DA8)); DWORD curscreen = *(DWORD *)(screens[index]+0xB8); // поверьте в отладчике, при поиске сего чуда, код выглядит страшнее ) // как реализовать его в CE без скрипта мне не довелось узнать _call(0x006A6374, 1, curscreen); SysFreeString(bstr); } За сим всё, получилось несколько сумбурно, но исходные коды должны расказать большее, их можно скачать тут PS поскольку fastcall в Delphi и C++ отличается как хлеб и рама пришлось использовать обёртку - процедуру _call которая выполняет вызов процедур таким образом как это принято в Delphi PSS для компиляции требуется MinGW например можно заюзать Code::Blocks. PSSS чудную вставку на MSVC++ можно написать путём goto и меток PSSSS данным способом можно изголятся так же и на играх написанных на Borland C++
  7. MasterGH а реально вызывать процедуры из CE по горячей клавише? Допустим при внедрении DLL можно вызвать фунцию из неё ... хотелось бы без DLL так же вызывать произвольную функцию в игре
  8. aliast собственно разобрал довольно быстро сравнивая в IDA похожие участки кода используя базу от listener'a и свежий дамп с exe эпизодов ... без него и неё ничего бы не вышло PS И да Шефы плохо отозвались об этом методе
  9. а ведь можно было использовать стандартные процедуры которые от скриптов если интересно могу подсказать Сорцы трейнера от 1с версии кажется 1031 не важно всё равно надо многое переписывать http://www.datafilehost.com/download-adf0f799.html И да он не может выполнять некоторые скриптовые функции ещё информации http://gtamodding.ru/w/index.php?title=Scripting.pas и ещё
  10. Есть Шеф, убрать не юзать сжечь и тп
  11. Вызов процедуры из DLL Объявление: DWORD dwLoadOffset = ((DWORD)GetModuleHandle (NULL)-0x400000); void (__cdecl *AddScore)(int) = (void (__cdecl *)(int))(0xDEADBEEF + dwLoadOffset); где 0xDEADBEEF адрес процедуры которую мы хотим вызвать в игре Использование: AddScore(300); Тут важно одно - правильно определить какие параметры функции нужны и что она возвращает
  12. aliast вызов функций по хэшу даёт только оружие жизни и броню ... для всего остального в том числе и для спавна требуется заменить поток с выполняющимся скриптом - своим и уже из него выполнять
  13. И так же добавлю что в ScriptHook от aru список хешей-функций встроен уж не знаю как он их надыбал В общем к чему это я ... если хотите спавн машин с помощью ScriptHook проблем нет ... если полностью свой тут вам потребуется определённые телодвижения о чём я и пытался сказать но как видимо ни А ни Б не поняли друг друга
  14. Сейчас во всех версиях хэши ... в либу не упирается - у меня есть скажем так её исходники
  15. Куски трейнера для гта4 Скачать упс а на свн gta4modding тока хидеры и да помнится после объединения рус и енг в один ехе случилось неприятное - все скриптовые команды стали хешами о хэшах можно прочесть тут http://www.hexblog.com/?p=193
  16. C бОльшей уверенностью скажу что 2 Способ от MasterGH верный PS Если найду исходники моего давнего трейнера для GTA IV выложу тут, спавн тачек присутствует
×
×
  • Создать...

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

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