OMG
Der Typ von Speicher Adressen ist unsigned long und nicht unsigned int, das ist extrem wichtig, denn so geht dir ein Teil der Adresse verloren...
Beschäftige dich erstmal ein wenig mit Daten Typen bevor du versuchst irgendwas mit C++ an zu fangen, nur wenn du die Daten Typen verstehst kannst du auch mit Zeigern richtig umgehen und kommst dann von alleine darauf wie du einen Zeiger per ReadProcessMemory benutzten kannst.
Obwohl es vermutlich sinnlos ist hier mal "funktionierender" Code für dein Beispiel:
PHP Code:
int value; unsigned long address1=0x0071A0; unsigned long address2; ReadProcessMemory(ProcessHandle,(LPVOID)adress1,&adress2,sizeof(unsinged long),NULL); ReadProcessMemory(ProcessHandle,(LPVOID)adress2,&value,sizeof(int),NULL);
Der erste ReadProcessMemory Aufruf liest die Adresse auf die der Pointer zeigt in die Variable address2, da Adressen den Daten Typ unsinged long haben muss auch die Größe von diesem Daten Typ übergeben werden.
Da du mit Daten Typen scheinbar nicht wirklich vertraut bist wird dir das ganze wohl wenig sagen ^^
Obwohl es vermutlich sinnlos ist hier mal "funktionierender" Code für dein Beispiel:
Failed. Er funktioniert nicht. Und ja, ich bin schon von selber auf die Idee gekommen statt unsinged unsigned zu schreiben. Das Ergebnis ist exakt das selbe wie bei meinen Versuchen.
Und bitte korrigier mich, wenn ich falsch liege, aber sind auf 32-Bit System unsigned long und unsigned int nicht gleich groß und zwar 32 Bit von 0 bis 4 Milliarden irgendwas, in Hexadezimal FFFFFFFF?
Ich hab ja bestimmt keine Ahnung also korrigier mich einfach wenn ich Unsinn rede.
Failed. Er funktioniert nicht. Und ja, ich bin schon von selber auf die Idee gekommen statt unsinged unsigned zu schreiben. Das Ergebnis ist exakt das selbe wie bei meinen Versuchen.
Und bitte korrigier mich, wenn ich falsch liege, aber sind auf 32-Bit System unsigned long und unsigned int nicht gleich groß und zwar 32 Bit von 0 bis 4 Milliarden irgendwas, in Hexadezimal FFFFFFFF?
Ich hab ja bestimmt keine Ahnung also korrigier mich einfach wenn ich Unsinn rede.
edit:
OMG!
Mein C++ Buch sagt 16bit int sei die Standard Größe, allerdings kann es ja auch sein das du mehr Ahnung als der Buch Autor hast, naja egal
Mal eine andere Sache, versuchst du immer noch ohne Debug Rechte ReadProcessMemory auf zu rufen?
Mein C++ Buch sagt 16bit int sei die Standard Größe, allerdings kann es ja auch sein das du mehr Ahnung als der Buch Autor hast, naja egal
Hab ich in dem Fall wohl tatsächlich. Int ist in 32-bit Systemen auch 32 Bit lang. In 16-bit System lediglich 16 Bit. Kannst ja mal ausprobieren einer Unsigned Int den Wert 4.000.000.000 zuzuweisen, wenn du mir nicht glaubst.
Quote:
Mal eine andere Sache, versuchst du immer noch ohne Debug Rechte ReadProcessMemory auf zu rufen?
Nein, hab es inzwischen schon mit Debug-Rechten probiert. Funktioniert auch nicht. Das Lesen aus anderen Adressen funktioniert ja auch einwandfrei, nur wenn ich aus dem Pointer lesen möchte, macht er Faxen.
int main(int argc, char* argv[]){ int a=4000000000; std::cout << a<<std::endl;
}
Quote:
***@xxxx:~/Dokumente$ g++ blub.cc
blub.cc:5: Warnung: diese Dezimalkonstante ist nur in ISO-C90 vorzeichenlos
blub.cc:8:2: Warnung: Kein Newline am Dateiende
blub.cc: In function »int main(int, char**)«:
blub.cc:5: Warnung: Große Ganzzahl implizit auf vorzeichenlosen Typen abgeschnitten
***@xxxx:~/Dokumente$ ./a.out
10240
Ich weiß jedenfalls immernoch nicht, was ich falsch gemacht habe. Ich bin gerade dabei an mir zu zweifeln, ob ich den falschen Pointer hab, was ich aber stark bezweifle. Was kann man mit CE und Solitair schon so falsch machen beim Suchen eines Pointers? :S
Ich muss dir jetzt aber nicht sagen, das int weniger positive werte unterstützt als unsigned oder?
signed int = 2 Mrd unsinged int 4Mrd , signed geht ja von -2 mrd bis +2 mrd.
Unsigned nur bis +4mrd.
pssssst sonst fällt noch auf das mein C++ Buch einfach veraltet ist und integer inzwischen wirklich 32bit lang sind XD
@Pat Garrett
Du solltest wirklich mal überprüfen ob dein Pointer stimmt, mach das am besten mit CheatEngine und sonst kann ich dir nur raten Debug ausgaben in deinen Programmen zu machen, oder ein Debug Log zu schreiben, das hilft beim finden von Logischen und anderen Fehlern.
@ Pat Garrett, lass dir doch die zwischenadresse auch ausgeben, als textausgabe oder messagebox. Dann weißt du schonmal ob die zwischenadresse richtig ist usw. fehlersuche ftw!
Natürlich schon getan. Die Adresse ist völliger Humbug und stimmt niemals.
Hab auch schon min. 5 mal auf 2 verschiedenen Rechnern überprüft, ob der Pointer richtig ist. Der MUSS richtig sein, es gibt einfach keine andere Lösung. Wenn jemand mal kurz Lust/Zeit hat, könnte er mir ja einen Gefallen tun und überprüfen welchen Pointer er bei Solitär herauskriegt.
Bei mir ist es bis jetzt jedes mal 0x0071A0 gewesen, bzw. 0x007170 mit Offset 30.
EDIT: GetLastError sagt: "Only part of a ReadProcessMemory or WriteProcessMemory request was completed."
5 Ids/std umgehen 02/19/2011 - WoW Exploits, Hacks, Tools & Macros - 29 Replies Farme gerade das Baron Mount, habe aus Zufall rausgefunden wie ich mehr als 5 Instanzen in einer Stunde öffnen kann.
Man braucht dafür 2 Accs.
Ihr offnet eine Gruppe und betretet die Instanz.
Ein Char wartet am Tor bis der andere Char den Baron gekillt hat.
Sobald der baron down ist, logt der Kill Char aus.
Nun ist der Char am Anfang der Instanz alleine.
Er verlässt die Instanz und resettet.
Nun logt der kill Char wieder ein und ist automatisch in einer neuen ID.
Nun läd der Kill Char...
Captcha umgehen ??? 05/08/2010 - General Coding - 19 Replies Hallo,
besteht die möglichkeit beim Nuttenspiel das Kreiscaptcha zu umgehen ??
Mfg:handsdown:
Captcha umgehen 08/12/2009 - Metin2 Private Server - 9 Replies Hi,
ich habe bissen gegooglt dann habe ich ein forum gefunden mit ein thread captcha umgehen hier da gibts so ein programm ist mehr für php leute die sich auskennen irgendwwas mit hash hier schaut selbst
PSU GG umgehen ? 05/24/2008 - General Gaming Discussion - 0 Replies Hi alle zusammen ^^
weiss nicht obs hier richtig is, aber weiss jemand ob man irgendwie den GG von Phantasy Star Universe umgehen kann ? will keine hacks für online benutzen sondern mit dem 3D ripper DX versuchen Modelle zu rippen ^^ da ich mit 3DGS nen eigenes Game baue ^^
oder kennt jemand nen besseres programm, was GG vllt net als hack sieht ? weil der 3D ripper startet ja mit der .exe
wäre klasse wenn jemand wüsste was man machen könnte ^^
Edit: ach mist, das sollte unter Other...