Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 07:55

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[c++]MemoryRead/Stringsearching

Discussion on [c++]MemoryRead/Stringsearching within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Elite*Ruler's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 53
Received Thanks: 8
[c++]MemoryRead/Stringsearching

Hi, ich habe im grunde ne recht simple frage:
wie kann man mit C++ IN PROZESSEN( prozess = x.exe)
nach Strings suchen, z.b. 'hallo' und diese dann ändern.
Folgene situation:
ich will explorer.exe öffnen und alle im ram befindlichen
strings mit dem inhalt 'hallo' will ich in den inhalt lmit '/signed' ändern.

Auch autoit ansätze sind erwünscht( falls das damit überhaupt geht)
Elite*Ruler is offline  
Old 01/08/2010, 18:13   #2
 
elite*gold: 577
Join Date: Oct 2009
Posts: 665
Received Thanks: 3,502
Entweder du schreibst ne DLL und injectest die, oder du benutzt ReadProcessMemory() WriteProcessMemory().

Ich würde das erste bevorzugen.

Dann musste nur noch jedes byte von einer Start-Adresse ab(z.B.: 0x0)
bis zur End-Addresse(z.B.: 0x02000000) nach deinem String durchsuchen.

Code:
/**
 * Returns the address where @a bytes was found.
 */
void* SearchMemoryFor(const unsigned char* bytes, unsigned long len)
{
	SYSTEM_INFO SystemInfo;
	MEMORY_BASIC_INFORMATION mib;

	GetSystemInfo(&SystemInfo);

	void* start = (void*)0;
	void* end = SystemInfo.lpMaximumApplicationAddress;

	void* addr = start;

	while(true) {
		size_t ret = VirtualQuery(addr, &mib, sizeof(MEMORY_BASIC_INFORMATION));
		if(ret == 0)
			break;

		addr = (void*)((intptr_t)mib.BaseAddress + mib.RegionSize);

		if (addr >= end)
			break;

		if(mib.State & MEM_COMMIT) {
			uint32_t restlen = mib.RegionSize;
			for(void* i = mib.BaseAddress; i < addr && restlen >= len; i = (void*)((intptr_t)i + 1)) {
				if(memcmp(i, bytes, len) == 0)
					return i;
			}
		}
	}
}
MfG tim.
tim66613 is offline  
Reply


Similar Threads Similar Threads
MemoryREad geht nicht !
07/17/2010 - AutoIt - 5 Replies
Guten Tag , hier der Source : #include "NomadMemory.au3" #RequireAdmin SetPrivilege("SeDebugPrivilege", 1) #cs -------------------------------------------------- --------------------------
[Hilfe] MemoryRead in WoW
07/03/2010 - AutoIt - 3 Replies
Huhu, wollte mich mal wieder ans MemoryRead wagen. Ich komme einfach nicht weiter und finde nichts im Internet (bzw. Foren). Ich möchte einfach mal nur den Spielernamen auslesen. Mein Code sieht imo so aus: #include <NoMadMemory.au3> #RequireAdmin $PID = ProcessExists("Wow.exe")
Memoryread Unicode
10/09/2009 - AutoIt - 3 Replies
Ja ich wollte mal fragen wie ich bei Autoit bei Memoryread die Adresse als Unicode auslesen kann.
Archlord MemoryRead -.-
05/23/2009 - Archlord - 3 Replies
hallo! ich versuche jetzt seit 2 tagen meine hp und die hp meines current target aus dem ram auszulesen. ich finde auch werte die meine current hp ausgeben, allerdings aendern die sich bei jedem restart von al(soweit ich weiss gibt es ja immer einen basepointer oder sowas, der genau ausgiebt wo die hp nun eingetragen wird). -.- wie ich die current hp vom target auslese, daran will ich erst garnicht denken... -.- kann mir jemand helfen bzw. mich etwas instruieren(gerne auch ueber ts oder...
Archlord MemoryRead -.-
05/22/2009 - General Coding - 0 Replies
hallo! ich versuche jetzt seit 2 tagen meine hp und die hp meines current target aus dem ram auszulesen. ich finde auch werte die meine current hp ausgeben, allerdings aendern die sich bei jedem restart von al(soweit ich weiss gibt es ja immer einen basepointer oder sowas, der genau ausgiebt wo die hp nun eingetragen wird). -.- wie ich die current hp vom target auslese, daran will ich erst garnicht denken... -.- kann mir jemand helfen bzw. mich etwas instruieren(gerne auch ueber ts oder...



All times are GMT +1. The time now is 07:56.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.