Memory read/write Programm (C++)

10/18/2008 23:11 Grabgewalt#1
Hallo ich hab n kleines Programm in C++ geschrieben, das eben den Speicher nach bestimmten Werten durchsucht. Man kann dann eben auch nach sich ändernden Werten suchen usw. So wie solche Programme eben so funktionieren...
Problem hierbei ist nur, dass openprocess() bei manchen Anwendungen fehl schlägt. Bei allen Sachen bei denen ich es probiert habe (Diablo2,MineSweeper usw) geht es nur nicht bei KalOnline^^ Ich will nichmal irgendwas hacken oder so, ich will nur das openprocess() klappt. Ich krieg jedoch immer error code 5 also access denied.
ich hab sedebugprivileges gesetzt und auch schon mit den parametern von openprocess() rum gespielt aber es ist immer das Gleiche.

Irgendwer ne Idee?
10/19/2008 13:01 12354#2
Hmm
Sicher dass du sedebugprivileges hast?
Schau mal ob die anderen Games(also die jetzt schon gehen) auch ohne sedebugprivileges gehen.
10/19/2008 13:07 Grabgewalt#3
bool suc;
TOKEN_PRIVILEGES priv;
HANDLE hThis, hToken;
LUID luid;
hThis = GetCurrentProcess();

suc = OpenProcessToken(hThis, TOKEN_ADJUST_PRIVILEGES, &hToken);
if(!suc)
cout << "OpenProcessToken() failed "<<GetLastError();
LookupPrivilegeValue(0, "seDebugPrivilege", &luid);
priv.PrivilegeCount = 1;
priv.Privileges[0].Luid = luid;
priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
suc = AdjustTokenPrivileges(hToken, false, &priv, 0, 0, 0);
if(!suc)
cout << "AdjustTokenPrivileges() failed "<<GetLastError();

CloseHandle(hToken);
CloseHandle(hThis);

Nehm ich den Aufruf der Funktion raus krieg ich den gleichen Fehler den ich bei KalOnline krieg auch bei Diablo2. Also scheint das schon zu funktionieren. Ich fürchte ja, dass das am Hackshield vom Kal liegt und da dann noch n bisschen mehr nötig ist als n simpler memory scanner.

edit: Allerdings meine ich in der msdn gelesen zu haben, dass sedebugpreviliges sozusagen über allem steht, also unabhängig davon was irgendein anderes Programm "sagt".
Wie machen die cheat engines das denn? Injecten die da noch irgendwelche dlls oder sowas?
10/19/2008 14:20 Bot_interesierter#4
Ja manche Cheat Engines injecten dlls um schneller das Spiel durch suchen zu können, aber wenn OpenProcess fehl schlägt dann kannst auch das knicken, ich hab jetzt keine Ahnung wie Hackshield genau funktioniert aber Probier mal ob du mit einem normalen MemoryReader was auslesen kannst bei dem Game ^^
10/19/2008 15:14 Grabgewalt#5
Also mit Artmoney funktioniert es nicht. Bei KalOnline meldet das prog. Prozess nicht gefunden. TSearch wird schon beim starten als hacking software entdeckt (vom hackshield) vorauf sich Kal einfach schließt.
10/19/2008 19:24 Bot_interesierter#6
Dann brauchst du einen Hackshield Bypass :-)
10/19/2008 21:22 Grabgewalt#7
ok, dachte ich mir schon irgendwie. Nur weils mich interessiert: Wie funktioniert son bypass prinzipiell? Will keine codes oder so. Nur die theoretische Funktionsweise. Den rest krieg ich dann schon alleine hin^^
10/19/2008 21:28 Bot_interesierter#8
Du musst herausfinden wie Hackschield funktioniert, ich geh mal davon aus das es die WindowsAPI hookt damit du keinen Handle für den Geschützen Prozess bekommst, also muss man den hook hooken ^^
Wie es genau geht kann ich dir nicht sagen, aber ein Tipp ist Google Hackschield Bypass, findet sich sicher etwas :-)
10/20/2008 07:31 Grabgewalt#9
ok danke dir erstmal, ich werd mich mal dran probiern^^
09/23/2010 16:16 Lazeboy#10
also ersteinmal ich habe debug priveleges drin nur ich glaube das Hackshield hooked OpenProcess und schaut sich das handle an.....
Denn wenn ich das hackshield ausschalte mit ollydbg scannt mein mem scanner wunderbar ^^nur kp wie ich das jetzt so mache das ich noch ne laufende spiel version hab und das es bei jedem game mit hackshield klappt. Bei 64bit system funkt mein scanner auch wunderbar weil da die hackshield software nicht richtig drauf funktioniert ^^



Mal ohne witz kann es sein das du einfach mein source aus meinem thread genommen hasst ? :D
weil ganze zeit liest man nix über memscanner und dann kommt mein thread und plötzlich kommt nen memory scanner ^^