• Trainer
  • Forums
  • Suche
  • Members
  • Kalender
  • Hilfe
  • Extras
Forum stats
Show team
Neue Beiträge ansehen
Heutige Beiträge ansehen
Home of Gamehacking - Archiv
Login to account Create an account
Login
Benutzername:
Passwort: Passwort vergessen?
 



  Home of Gamehacking - Archiv Coding C, C#, C++, Visual C++
1 2 Weiter »
VirtualProtectEx Error 998

Ansichts-Optionen
VirtualProtectEx Error 998
Prototype Offline
Junior Member
**
Beiträge: 15
Themen: 3
Registriert seit: Jul 2013
Bewertung: 0
#1
05.11.2013, 19:23
Moin,
Habe ein Problem mit der Winapi Funktion VirtualProtectEx(). Und zwar returnt mir diese den error Code 998.

Hier mal der Code:

PHP-Code:
VirtualProtectEx(hProcess,(LPVOID) adressPointer,sizeof(DWORD),PAGE_EXECUTE_READWRITE , NULL)


Das komische ist, meine ReadProcessMemory Funktion bekommt genau den selben adressPointer und funktioniert, also:

PHP-Code:
ReadProcessMemory(hProcess, (LPCVOID) adressPointer, &scoreValue, sizeof(DWORD),NULL)

Liefert den genauen Wert von adressPointer.
Jemand eine Ahnung wieso VirtualProtect fehlschlägt?



System: Win7 Ultimate 64bit
Target Program: 32bit

DebugPrivilege sind an.

Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#2
05.11.2013, 19:47
Könnte das sein das Du mit VirtualProtectEx versuchst "ungültige" Speicherbereiche zu ändern.?!

Zitat:ERROR_NOACCESS
998 (0x3E6)
Invalid access to memory location.

Probehalber würde ich jetzt mal "sizeof(DWORD)" mit einer fixen Zahl ersetzen...
Ansonsten denk ich müsste man wohl die Größe der Speicherseiten ermitteln damit VirtualProtectEx nicht über "gültige" Speicherseiten hinaus versucht die Zugriffsrechte zu ändern.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
Prototype Offline
Junior Member
**
Beiträge: 15
Themen: 3
Registriert seit: Jul 2013
Bewertung: 0
#3
05.11.2013, 20:15
Das habe ich am Anfang auch gedacht, allerdings liefert mir ReadProcessMemory mit der selben Adressen den richtigen Wert. Und dort gebe ich auch nur ein DWORD als size an. Ob ich jetzt 4 Bytes oder Sizeof(DWORD) angebe sollte eigentlich egal sein. Die größe ist auf jedenfall 4 bytes.

Gerade getestet, selbes Problem. Ich kann es mir nicht erklären.
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#4
05.11.2013, 23:00
Hey,
versuche mal eine Variable für _Out_ PDWORD lpflOldProtect anzugeben:

Code:
DWORD dwOldprotect;
VirtualProtectEx(hProcess,(LPVOID) adressPointer,sizeof(DWORD),PAGE_EXECUTE_READWRITE, &dwOldprotect); 

"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#5
05.11.2013, 23:03
Shit... Acubra war schneller...
Da muss ich Acubra zustimmen... Weil,

MSDN schrieb:lpflOldProtect [out]

A pointer to a variable that receives the previous access protection of the first page in the specified region of pages. If this parameter is NULL or does not point to a valid variable, the function fails.
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
Prototype Offline
Junior Member
**
Beiträge: 15
Themen: 3
Registriert seit: Jul 2013
Bewertung: 0
#6
06.11.2013, 00:00
Ah ****. Funktioniert jetzt. Gibt es irgendwie eine Möglichkeit die Winapi Doku in vs einzubinden?
Suchen
Antworten
Acubra Offline
Trainermaker
****
Beiträge: 904
Themen: 127
Registriert seit: Oct 2010
Bewertung: 6
#7
06.11.2013, 13:41
Hey,
Nicht das ich wüsste. Aber du kannst ja in VS nen link zu msdn Seite öffnen und dort dann immer nachgucken.
"Auf dieser Welt gibt es mehr Scheisse als auf Festivalklos"
[Bild: hoglogo_smalpxga.jpg]
Homepage Suchen
Antworten
iNvIcTUs oRCuS Offline
Super Moderator
****
Beiträge: 2.688
Themen: 529
Registriert seit: Aug 2010
Bewertung: 19
#8
06.11.2013, 17:45 (Dieser Beitrag wurde zuletzt bearbeitet: 06.11.2013, 17:47 von iNvIcTUs oRCuS.)
Weiß net wie das bei Visual Studio is...
Bei Delphi (Rad Studio) gibts die sogenannte Online Hilfe.
In der IDE kann ich z.B. nach "VirtualProtectEx" suchen und dann werden automatisch alle möglichen Quellen aufgelistet.
Also zum Einen wird die lokale Hilfe durchsucht und zum Anderen wird Online und anderem die MSDN durchsucht und die Ergebnisse schließlich angezeigt.
Aber ich denke mal, wie Acubra schon sagte, dürfte das dann bei VS genauso sein.

Ansonsten bräuchtest dann höchstens ein Plugin was dir solch ne Arbeit abnimmt. Für Visual Studio gibts z.B. Visual Assist X, aber inwiefern das eine Erklärung zur jeweiligen API gibt weiß ich net.
Zumindest gibts ne Autovervollständigen Funktion. Aber gut, die is bei VS selbst auch schon drinne...

Wenn's dich interessiert:
Visual Assist X
Visual Assist X - Demonstration Video
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!

Traineranfragen per PM werden prinzipiell gelöscht...

[Bild: signatur6akm7.gif]
Suchen
Antworten
Prototype Offline
Junior Member
**
Beiträge: 15
Themen: 3
Registriert seit: Jul 2013
Bewertung: 0
#9
08.11.2013, 18:40
Oh danke, dass habe ich jetzt nicht erwartet. Die Java Api ist z.B bei Eclipse super integriert. Da MSDN auch detaillierte Infos zu den jeweiligen Funktionen hat sollte das doch nicht schwer zu realisieren sein..
Suchen
Antworten
Share Thread:            


  • Druckversion anzeigen
  • Thema abonnieren


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste

  • Kontakt
  • Forum team
  • Forum stats
  • Nach oben
 
  • RSS-Synchronisation
  • Lite mode
  • Home of Gamehacking - Archiv
  • Help
 
Forum software by © MyBB - Theme © iAndrew 2014



Linearer Modus
Baumstrukturmodus