Skocz do zawartości
# 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

static uint64_t handle_copy_memory(const PacketCopyMemory& packet)
{
	PEPROCESS dest_process = nullptr;
	PEPROCESS src_process = nullptr;
	SIZE_T return_size = 0;
	if (!NT_SUCCESS(PsLookupProcessByProcessId(HANDLE(packet.dest_process_id), &dest_process)))
	{
		return uint64_t(STATUS_INVALID_CID);
	}

	if (!NT_SUCCESS(PsLookupProcessByProcessId(HANDLE(packet.src_process_id), &src_process)))
	{
		ObDereferenceObject(dest_process);

		return uint64_t(STATUS_INVALID_CID);
	}

	NTSTATUS status = MmCopyVirtualMemory(src_process, (void*)packet.src_address, dest_process, (void*)packet.dest_address, packet.size, UserMode, &return_size);

	ObDereferenceObject(dest_process);
	ObDereferenceObject(src_process);

	return uint64_t(status);
}

strona driver


strona usera 
 

uint32_t read_memory(const SOCKET a_socket, const uint32_t process_id, const uintptr_t address, const uintptr_t buffer, const size_t size)
{
	return copy_memory(a_socket, process_id, address, GetCurrentProcessId(), buffer, size);

 

Odnośnik do komentarza

@kaczmitaczmi kod nie jest pełny. Strona usera zwracana jakąś funkcję, której nie pokazujesz. Po stronie drivera wskazany kod jest prawidłowy pod względem składni oraz struktury

Pomogłem i chcesz podziękować? Zostaw up.png przy poście

CSHEx4.png

 

Szukasz taniego i bardzo dobrego cheata na legit? Wypróbuj CSH External VIP Project.

Odnośnik do komentarza


}

static uint32_t copy_memory(const SOCKET a_socket, const uint32_t src_process_id, const uintptr_t src_address, const uint32_t dest_process_id, const uintptr_t dest_address, const size_t size)
{
	Packet packet{ };

	packet.header.magic = packet_magic;
	packet.header.type = PacketType::packet_copy_memory;

	auto& data = packet.data.copy_memory;
	data.src_process_id = src_process_id;
	data.src_address = uint64_t(src_address);
	data.dest_process_id = dest_process_id;
	data.dest_address = uint64_t(dest_address);
	data.size = uint64_t(size);

	uint64_t result = 0;
	if (send_packet(a_socket, packet, result))
		return uint32_t(result);

	return 0;
}

 

Odnośnik do komentarza

mozesz poadc przyklad jak uzyl bys funkcji read memory, mam zdefiniowany base adress i rpid

 const size_t size_to_read = 1024;
    char occul1[size_to_read] = { 0 };
    uint32_t bytesRead = read_memory(r_socket, r_pid, basemodule, (uintptr_t)&occul1, size_to_read);
    if (bytesRead > 0) {
        cout << "Odczytane dane:" << endl;
        for (uint32_t i = 0; i < bytesRead; ++i) {
            cout << static_cast<int>(occul1[i]) << " ";
        }
        cout << endl;

 

Odnośnik do komentarza
uintptr_t target_address = 0x997;
uint32_t data_buffer;

uint32_t result = read_memory(a_socket, process_id, target_address, &data_buffer, sizeof(uint32_t));

Pomogłem i chcesz podziękować? Zostaw up.png przy poście

CSHEx4.png

 

Szukasz taniego i bardzo dobrego cheata na legit? Wypróbuj CSH External VIP Project.

Odnośnik do komentarza

a mmogllbys to napisac tak zeby przeszlo przez offset base adress + 0x03250FF8 ] + 0xb8 ] 0x84 i pozniej pod odczytanym adresem zmienilo wartosc z 0 na 1  za pomoca tego 

uint32_t write_memory(const SOCKET a_socket, const uint32_t process_id, const uintptr_t address, const uintptr_t buffer, const size_t size)
{
    return copy_memory(a_socket, GetCurrentProcessId(), buffer, process_id, address, size);
}

namespace driver {
    template <typename T>
    T read(const uintptr_t address)
    {
        T buffer{ };
        read_memory(r_socket, r_pid, address, uint64_t(&buffer), sizeof(T));

        return buffer;
    }

    template <typename T>
    void write(const uintptr_t address, const T& buffer)
    {
        write_memory(r_socket, r_pid, address, uint64_t(&buffer), sizeof(T));
    }

    static void readsize(const uintptr_t address, void* buffer, size_t size)
    {
        read_memory(r_socket, r_pid, address, uint64_t(buffer), size);
    }
}

mam jeszcze to

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.

  Tagi

×
×
  • 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