Skocz do zawartości
1 maja :: Święto Pracy / 2 maja :: Dzień Flagi / 3 maja :: Święto Konstytucji

co zrobiłem zle w kodzie?


# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

@kebabek12 Sam to pisales? Debugowales to jakkolwiek?

 

Ogolnie to nie polecam pisac funkcji w ten sposob.

Uzywajac takiej funkcji zakladasz ze zwroci ci ona adres modulu ktory jej podasz w argumencie,

a twoja w sposob 'ukryty' przypisuje tez od razu wartosci do dwClientAddress i dwEngineAddress + 'Error' jest bledy, bo wyskoczy jak funkcja nie znajdzie modulu client.dll, ale takze jak nie znajdzie modulu engine.dll, albo jakiegokolwiek innego ktorego bys szukal.

Anyways, najprosciej bedzie jak uzyjesz funkcji ktora jest sprawdzona i na pewno dziala(ofc zmien sobie ja zeby pasowala pod wzgledem stylu/etc do twojego kodu):
 

Funkcja:

#include <windows.h>
#include <TlHelp32.h>

uintptr_t GetModuleBaseAddress(DWORD procId, const wchar_t* modName)
{
    uintptr_t modBaseAddr = 0;
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
    if (hSnap != INVALID_HANDLE_VALUE)
    {
        MODULEENTRY32 modEntry;
        modEntry.dwSize = sizeof(modEntry);
        if (Module32First(hSnap, &modEntry))
        {
            do
            {
                if (!_wcsicmp(modEntry.szModule, modName))
                {
                    modBaseAddr = (uintptr_t)modEntry.modBaseAddr;
                    break;
                }
            } while (Module32Next(hSnap, &modEntry));
        }
    }
    CloseHandle(hSnap);
    return modBaseAddr;
}

 

Uzycie:

uintptr_t client_module = GetModuleBaseAddress(ProcId, L"client.dll");
Odnośnik do komentarza

@kebabek12 

 

Jezeli planujesz isc dalej w kierunku pisania cheatow to polecam ogarnac sobie chociaz podstawy w tym przypadku c++'a.

W tym celu polecam zaznajomienie sie ze strona learncpp.com(o ile znasz angielski, chociaz bez angielskiego nie wyobrazam sobie programowania tbh. nie znam zadnego wartego polecenia kursu po polsku, chociaz nie wykluczam istnienia takowego).

Generalnie mozesz dodac to do tej swojej klasy ProcMem np. w ten sposob:

 

.cpp

uintptr_t ProcMem::GetModuleBaseAddress(const wchar_t* modName)
{
    uintptr_t modBaseAddr = 0;
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, dwPID);
    if (hSnap != INVALID_HANDLE_VALUE)
    {
        MODULEENTRY32 modEntry;
        modEntry.dwSize = sizeof(modEntry);
        if (Module32First(hSnap, &modEntry))
        {
            do
            {
                if (!_wcsicmp(modEntry.szModule, modName))
                {
                    modBaseAddr = (uintptr_t)modEntry.modBaseAddr;
                    break;
                }
            } while (Module32Next(hSnap, &modEntry));
        }
    }
    CloseHandle(hSnap);
    return modBaseAddr;
}

 

W .h do klasy ProcMem dodaj po prostu:

    uintptr_t GetModuleBaseAddress(const wchar_t* modName);

 

A pozniej uzywasz tego jak:

    ProcMem memory;
    uintptr_t client_module = memory.GetModuleBaseAddress(L"client.dll");

 

Chociaz ja osobiscie napisalbym troche inaczej powyzsza klase.

 

Jesli czegos nie rozumiesz to napisz, postaram sie pomoc w wolnym czasie :--).

 

 

Btw, z jakiego to tutoriala? Bo widzialem podobny kod na forum juz kilka razy.

Odnośnik do komentarza

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności