VB.net Frage zum Pointer schreiben

03/31/2013 13:55 Sh1nra#1
Hallo ich habe ein Problem und zwar habe ich jetzt für ein Spiel mit Visual Basic 2010 Express etwas geschrieben und zwar einen Pointer. Er nimmt den Prozess, sucht die Adresse die ich angegeben habe und ändert die Value in meine angegebene Value.
Nur leider klappt das nicht weil das Spiel ein Hackschild nutzt was den kompletten Prozess versteckt. Somit findet VB den Prozess nicht, was kann man dagegen tun?

Game Guard wird als Schutz verwendet...

Mit freundlichen Grüßen...
03/31/2013 20:30 .AppleTree.#2
Könntest du bitte mal deinen Code posten? :)
03/31/2013 21:00 dready#3
Werd aus deiner Einleitung mit Pointer etc nicht wirklich schlau ? :)
Meinst du du beschreibst eine Variable für die du einen Pointer hast oder beschreibst du einen Pointer direkt *confused*

Hab leider keine Ahnung von Hackschield, nie mit gearbeitet, aber nach kurzem überfliegen wie es arbeitet sag ich mal .. viel Spaß ;)

Es injected sich wohl selbst in alle Processe und nutzt einen Treiber um den Kernel selbst zu manipulieren

Ohne auf irgendwelche Fallstricke zu achen würd ich wohl zuerst so versuchen.

Den Kernel von der Festplatte in mein Programm mappen
Die Nötigen Funktionen von dort aufrufen
Und dann ganz fest die daumen drücken das man nix übersehn hat :P
04/01/2013 01:26 Sh1nra#4
Module:

Source:

Bei der Cheat Engine Adresse lasse ich dann die ersten 2 Zeichen weg,
die Value wird ja dann einfach geändert in das was in TextBox1 steht..

Ist das richtig?^^
04/01/2013 03:01 .AppleTree.#5
[Only registered and activated users can see links. Click Here To Register...]

Vlt hilft der, weis nicht ob er noch geht aber versuchen kann man es ja. . .
04/01/2013 07:37 dready#6
Try, Catch und nichts im Catch machen tztztz :P

Aber ja es sollte funktionieren, der Grund warum es das nicht tut(angenommen Process und Adresse stimmen) ist das Hackshield die Imports die du nutzt hooked
04/01/2013 15:11 Sh1nra#7
Quote:
Originally Posted by .AppleTree. View Post
[Only registered and activated users can see links. Click Here To Register...]

Vlt hilft der, weis nicht ob er noch geht aber versuchen kann man es ja. . .
Nein das hilft mir nicht wirklich weiter^^

Quote:
Originally Posted by dready View Post
Try, Catch und nichts im Catch machen tztztz :P

Aber ja es sollte funktionieren, der Grund warum es das nicht tut(angenommen Process und Adresse stimmen) ist das Hackshield die Imports die du nutzt hooked
Und was kann ich dagegen tun?
04/01/2013 16:25 .AppleTree.#8
In wiefern hilf dir das Tool nicht? Funktioniert es nicht? Schlussendlich musst du sowieso einen Bypass haben sonst geht da eh nix.
04/01/2013 16:53 dready#9
Ich hoffe du verstehst das jetzt nicht als angriff, aber wenn du Fragst was du dagegen tun kannst ist recht offensichtlich das du nochnicht die nötigen Fertigkeiten hast um es zu tun ;)

Ein Hook funktioniert in etwa so

Orginal

Dein Programm importiert eine Funktion(ReadMemory)
Dein Programm ruf sie in der Improtierten Libary auf ( Readmemory(a,b) )
Die Libary gibt dir die Gewünschten Daten zurück

Program <-> Dll

Hooked

Dein Programm importiert die Libary
Eine Dll wird von außerhalb in deinen Process geladen
Sie hat eine Funktion die sich die Imports ansieht
Sie sieht die ReadMemory Function
Sie ändert den Import ab auf sich selbst
Dein Programm ruf Readmemory auf
Die Dll bekommt nun den Aufruf
Ruft die eigentliche Funktion auf
gibt Daten zurück

Programm <-> hook <-> dll

Du siehst also wenn eine Funktion gehooked ist hat man im Prinzip die Kontrolle darüber

Z.b. du könntest nun schauen versucht die Readmemory Function von Process xyz zu lesen ? Wenn ja gib einen Fehler zurück.

Ansatzpunkte wären also
a) Den hook komplett entfernen
b) den hook selbst hooken
danach dafür sorgen das Hackshield selbst nichts davon mitbekommt

Hoffe das ganze war einigermassen Verständlich, ist etwas schwer zu erklären ohne Endlos auszuholen

Das ganze ist technisch gesehen extrem vereinfach dargestellt und es gibt unmengen wege wie genau man es machen kann.
04/02/2013 00:02 Sh1nra#10
Nein ein Angriff ist das nicht, gebe ja dazu das ich keine Ahnung habe...

Dann werde ich mal gucken das ich das irgendwie packe^^