• logo_cipsoft
    Nowe serwery zostały otwarte 27 Paź 2025:
    Idyllia (Optional PvP) Hostera (Open PvP) us_logo Dracobra (Open PvP)

-Pozostałe [PROGRAMOWANIE] Pisanie bota.

Status
Zamknięty.

Robtoc

Active User
Witam, zacz??em pisa? w C++ bota w charakterze edukacyjnym nie nastawiam si? raczej na co? powa?nego, chocia? mo?e w przysz?o?ci.
Mam funkcje do odczytywania string z pami?ci tibi i odczytuje sobie sw?j nick.
Problem polega na tym ?e po wy??czeniu i w??czeniu tibi adres ulega zmianie zawsze jest Tibia.exe+co? z tym ?e nie mog? tak napisa? w programie a Tibia.exe zawsze ulega zmianie a 'co?' ju? nie.
Moje pytanie brzmi jak odczyta? w programie warto?? tibia.exe?
Skanuje adresy cheat engine.

Dzi?kuje i pozdrawiam.

@Edit
Ju? troch? ogarn??em, wiem ?e potrzebuje pobra? base adress z tibia.exe i mog? to zrobi? za pomoc? tej funkcji :

Kod:
#include <Tlhelp32.h>
DWORD GetModuleBase()
{
	MODULEENTRY32 moduleEntry = {0};
	HANDLE snapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetCurrentProcessId());
	DWORD base = 0;
 
	if(!snapShot)
		return 0;
 
	moduleEntry.dwSize = sizeof(moduleEntry);
	BOOL currentModule = Module32First(snapShot, &moduleEntry);
 
	if(currentModule)
	{
		static char hold[1000];
		memcpy(hold, moduleEntry.szModule, strlen(moduleEntry.szModule) + 1);
 
		if(std::string(hold).find(".exe") == std::string(hold).size() - 4)
			base = (DWORD)moduleEntry.modBaseAddr;
	}
 
	CloseHandle(snapShot);
	return base;
}
 
DWORD AlignAddress(DWORD address)
{
	static int base = (int)GetModuleBase();
	static int XPBase = 0x400000;
	address += (base - XPBase);
	return address;
}

Mam t? funkcje w kodzie w jaki spos?b teraz odwo?a? si? do niej aby pobra?a base adress z tibi? Pr?bowa?em zapisa? j? do zmiennej w taki spos?b:

DWORD TibiaClient = GetModuleBase("Tibia.exe", pID);

jednak wypluwa mi error, mo?e kto? pom?c?

@Edit2
Ju? sobie poradzi?em, wie kto? jak zamieni? liczbe dziesietn? na szesnastkow? w C++?
Mo?na to zrobi? w ten spos?b
printf("Address: %X", zmienna);
ale jak zapisa? to do zmiennej?
 

Our partners and their custom servers:

Odp: [PROGRAMOWANIE] Pisanie bota.

Refresh :P

Dzi?ki za pomoc duchow? ^^, poradzi?em sobie.
Pytanie z innej beczki, wie kto? jak zrobi? klikanie w link w C++?
Tylko nie ShellExecute, tak ?eby nie otwiera? si? ?aden internet explorer ani inne badziewie.
S?ysza?em o libcurl, pomo?ecie?

----------------------------------------------------------------------------------------------

Witam, zainstalowa?em curla.
Pr?buje skompilowa? plik ale mam errory:

main.o:main.cpp:(.text+0xf): undefined reference to `_imp__curl_easy_init'
main.o:main.cpp:(.text+0x38): undefined reference to `_imp__curl_easy_setopt'
main.o:main.cpp:(.text+0x46): undefined reference to `_imp__curl_easy_perform'
main.o:main.cpp:(.text+0x58): undefined reference to `_imp__curl_easy_cleanup'
collect2: ld returned 1 exit status

mingw32-make.exe: *** [Projekt1.exe] Error 1

Wykonanie zako?czone

Opcje projektu

Konsolidator:
-l winmm
-l ssl
-l crypto
-l z
-l gdi32
-l ws2_32
-lws2_32
-lwinmm
-lcurl
-lcurldll

Kompilator C++ :

-DCURL_STATICLIB
-lwininet

Aha no i przekopa?em ca?e google i nic nie pomog?o.
 
Ostatnia edycja:
Status
Zamknięty.
Back
Do góry Bottom