[C++]hexadezimal immer um 1 erhöhen

07/21/2009 11:40 neofox#1
Hi leute,

folgendes Problem habe ich ich suche als ne Möglichkeit womit ich Hexadezimal Adressen errechnen kann also immer um eins erhöht also damit ich von 00000000 bis FFFFFFFF hoch rechnen kann das mit den wider holen hoch rechen bekomme ich ja hin mit einer for schleife aber wie ich die Adressen errechne weiß ich nicht

danke jetzt schon mal für Hilfe

gruß
neofox
07/21/2009 12:36 ms​#2
Code:
int i = 0xDEADBEEF;
i++;
Es gibt keinen dezimalem und hexadezimalem Integer. Das sind nur 2 verschiedene Arten, eine Zahl darzustellen. Wenn du dem Compiler sagen willst, dass du eine Zahl in hexadezimaler Schreibweise schreibst, dann musst du nur ein "0x" vorne dranhängen.
07/21/2009 14:20 neofox#3
naja aber es müsste doch ne Funktion oder sowas geben damit ich zb sagen kann:
000000AF +1 = 000000B0

oder muss ich dafür die Dezimalzahl zb 1 dann in hex umwandele in den fall 00000001
und dann wider die 1 + 1 = 2 rechne und die zahl wider in hex umwandel also zb
Adresse = zahl + 1 und das Ergebnis Dan in eine hex zahl wider umwandeln? oder geht das Garnichts so wie ich mir das denke??
07/21/2009 14:41 Adroxxx#4
Wieso machst du dir dein Leben so schwer? ^^
PHP Code:
unsigned long lzBase ;

for(
lzBase 0x11111 lzBase <= 0x22222lzBase lzBase 0x1)
{

cout << "Adresse : 0x" << lzBase << endl;



07/21/2009 15:04 schlurmann#5
Quote:
Originally Posted by Adroxxx View Post
Wieso [blabla]
Code:
for(unsigned long lzBase = 0x11111 ; lzBase <= 0x22222; lzBase++)
{
    cout << "Adresse : 0x" << hex << lzBase << endl;
}
Fixed.
07/21/2009 15:04 neofox#6
THX Adroxxx du bist wie immer mein C++ Held das ist genau perfekt ^^
07/21/2009 15:07 ms​#7
Ich versteh ehrlich gesagt nicht, was du meinst...
Hexadezimal und dezimal ist nur eine andere Schreibweise. Es ist egal, ob du 0xAF oder 175 hinschreibst, am Ende kommt genau das gleiche raus.

@Adroxxx

Bei deinem Code wird lzBase auch in dezimaler Schreibweise ausgegeben. ;o
Wie man die Zahl mit cout in hexadezimaler Schreibweise ausgibt weiß ich nicht. Mit printf gehts aber so:
Code:
	printf("Adresse: 0x%X\n", lzBase);
Edit: Zu langsam getippt. :\
07/21/2009 15:12 Adroxxx#8
@Schlur: Thx. Hab das hex vergessen ^^,
@DC:
printf() ist C :)

Aber ich machs auch meistens so, weil in MFC schreib ichs meistens in einen CString. Da wirds über .Format() auch so gemacht.
07/21/2009 23:03 x]vIrus[x#9
Quote:
Originally Posted by Adroxxx View Post
@Schlur: Thx. Hab das hex vergessen ^^,
@DC:
printf() ist C :)

Aber ich machs auch meistens so, weil in MFC schreib ichs meistens in einen CString. Da wirds über .Format() auch so gemacht.
printf ist viel komfortabler für die ausgabe formatierter strings
07/22/2009 02:11 Adroxxx#10
Wenn du mit Strings / CStrings arbeitest, kannst du Format() benutzten. Und unterscheidet sich da kaum von printf();

PHP Code:
unsigned long address 0x0011223;
CString m_strAddress;

m_strAddress.Format(_T("0x%X"),address); 
07/22/2009 07:55 Xereon#11
Wollt kurz noch anmerken das man oktale Zahlen so schreibt(falls die Frage aufkommt):
PHP Code:
unsigned int Oktal 0234;
unsigned int Oktal2 08
07/22/2009 18:45 neofox#12
Hio habe das problem das es mit der funktion plos etwas sehr lang dauert um von 00000000 bis FFFFFFFF alles duch gehen zu lassen gibt es keine möglichkeit das irgendwie zu verschnellern damit es wie bei anderen programmen nur 1 min oder so dauert??

oder halt ne möglichkleit das programm an sich schneller arbeiten zu lassen??

ich habe keine puase eingebaut mein stück scource code das ich benutzte schaut so aus:
Code:
		for(lzBase = 0x11111 ; lzBase <= 0xFFFFFFFF; lzBase = lzBase + 0x1)
		{
			ReadProcessMemory(handleprozess, (LPCVOID)lzBase, &punkte, sizeof(long), &puffer);
			if (punkte == suche)
			{
				zahl = zahl + 1;
				cout << "Adresse : 0x" << hex << lzBase << endl;
				adressen[zahl] = lzBase;
			}
		}
07/22/2009 18:56 schlurmann#13
Injecten und direkt zugreifen. Schneller als ReadProcessMemory.
07/22/2009 20:58 Adroxxx#14
Könntest auch mit mehreren Threads arbeiten.
07/22/2009 21:04 Xereon#15
Quote:
Originally Posted by Adroxxx View Post
Könntest auch mit mehreren Threads arbeiten.
Der Arzt warnt: Multi Threading kann zu unerwünschten Nebenwirkungen und Effekten führen, da man nie eine vollkommene Synchronisation erzeugen kann.