Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Tutorial] Call Of Duty 2 - Norecoil


x0Ph

Rekomendowane odpowiedzi

Opublikowano

Witam.

Chciałbym wam zaprezentować jak zrobić NoRecoil w grze Call of Duty 2 v1.3.

 

 

 

 

Potrzeba:

-MS Visual C++

-OllyDBG

-MS Detours 1.5

-Podstawy C++

 

 

 

 

A wiec najpierw uruchamiamy OllyDBG i otwieramy CoD2MP_s.exe.

PPM->Search for->All Referenced Strings

Wciskamy Ctrl+F i i wyszukujemy funkcji CG_FireWeapon która odpowiada za strzelanie bronią.

83523697.png

 

 

 

 

Widzimy teraz calą funkcję strzelania.

Gdzieś w tym obszarze powinna być rownież funkcja odpowiadająca za odbijanie broni do góry.

Sprawdzałem metodą prób i blędów która jest to funkcja i jest to ta:

88962785.png

 

 

 

Teraz żeby zedytować tą funkcje należy to zrobić w c++ ponieważ gdy zedytujemy binaria to przy próbie połączenia z serwerem wywali błąd.

A więc:

- W Visual C++ tworzymy nowy projekt DLL

- W dllmain.cpp przed funkcja DLLMain wpisujemy :

#include <windows.h>
#include <detours.h>
void myNOrecoil()
{
}

Funkcja nic nie robi ponieważ nie chcemy zeby bron sie odbijala do gory ;)

Teraz musimy zhookować tą funkcję do Call of Duty.

	case DLL_PROCESS_ATTACH:
	{
       DetourFunction((PBYTE)0x04F5860,(PBYTE)myNOrecoil);
}

 

Pierwszy parametr funkcji to offset do procedury którą chcemy podmienić, a drugi parametr to jaką funkcją ma to zastąpić.

Kompilujemy i gotowe!

 

 

Teraz jeśli chcemy zinjectować plik DLL, sciągamy sinJect, zaznaczamy CoDMP_s i DLL do zinjectowania.

Uruchom grę i ciesz się NoRecoilem :D

Pozdrawiam

 

 

Jesli cos jest nie jasne -> PM

Opublikowano

fajnie, tylko czy nie byłoby prościej na 0x4D7120 podmienić pierwszy bajt na 0xEB korzystając z powszechnie znanej funkcji WriteProcessMemory i przeskoczyć ten nieładny call :P

 

Hmm, jeszcze żeby detoursy działały trzeba dodać windows.h nie wszyscy o tym wiedzą, no i ten wskaźnik pNOrecoil jest niepotrzebny bo go nie używasz,

 

dobra już nie marudzę, na pewno ktoś się ucieszy, rep+ B)

 

PS. Ten sposób działa również w CoD 4, CoD 5

  • 1 miesiąc temu...
Opublikowano

        case DLL_PROCESS_ATTACH:
               {
       DetourFunction((PBYTE)0x04F5860,(PBYTE)myNOrecoil);
}

 

Nie rozumiem skąd to, ani dokąd to...?

 

byłoby prościej na 0x4D7120 podmienić pierwszy bajt na 0xEB korzystając z powszechnie znanej funkcji WriteProcessMemory i przeskoczyć ten nieładny call

 

Czy wtedy też potrzeba zewnętrznej Dll'ki, czy można już podmienić ręcznie w Olly?

 

Jaka dla programu / hackshielda / punkbustera czy czego tam jest różnica, czy podmiana ( 1 sposób ) binarna, czy przez dll injection?

 

Niewykrywalne?

 

2x +

Ta sygnatura jest pusta.

Opublikowano

bo może sprawdza binarke przy połączeniu ? A jak wstrzykniemy funkcje po połączeniu to nic się nie stanie ?

 

 

DetourFunction((PBYTE)0x04F5860,(PBYTE)myNOrecoil);

 

Zamień funkcje pod adresem 0x04F5860 na funkcje myNOrecoil która jest w dll'ce

liczylem na barce lecz ona niemogla wygrac.

Przez kibicow ktorzy przy rzutach roznych wolnych swiecili w messiego laserami

  • 2 tygodnie później...
Opublikowano

Dokładnie to co powiedział UP@

 

I ten, i ten sposób jest wykrywalny. :)

Wszystko, co zdarza się raz, może już się nie przydarzyć nigdy więcej, ale to, co zdarza się dwa razy, zdarzy się na pewno i trzeci.

Paulo Coelho

Walkirie

 

ZBIERAM - !!!

 

Więc jeśli już coś masz walnąć to walnij MiNuSa ;]

 

proszę cię! Zbieram - ! Więc jeśli się nie podoba walnij +, ale proszę o -------------!!!

  • 1 miesiąc temu...
  • 1 miesiąc temu...
Opublikowano

@up

dla 1.0 to będzie 0x04EF320

67214065957286435729.jpg

@top

jest możliwy no spread w cod2? próbowałem, kombinowałem nie dało rady.

masz jakąś przerobioną gierke? bo troszkę inaczej u mnie to wygląda

  • 1 miesiąc temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...