AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hooking

Ein Thema von silent vapor · begonnen am 10. Aug 2006 · letzter Beitrag vom 11. Aug 2006
Antwort Antwort
silent vapor

Registriert seit: 8. Jan 2003
27 Beiträge
 
#1

Hooking

  Alt 10. Aug 2006, 15:36
Hallo Leute,

kann ich irgendwie verhindern, bzw. abfragen oder blockieren, das ein Prozess oder ein Programm geHOOKt wird?
Ich erstelle ein AntiCheat Tool für ein Spiel und möchte Abfragen, ob irgendwelche Programme (z.B: Trainer) auf das Programm zugreifen, dies ist denke ich nur mit API-Hooking möglich, oder?

Ich möchte verhindern, das bestimmte Programme auf das Spiel zugreifen, was allerdings blöd für ein AntiVirus oder eine Firewall wird.
Habt ihr da Ideen?

Gruß
silent
----
mfg
silent
  Mit Zitat antworten Zitat
Metal_Snake2

Registriert seit: 19. Nov 2004
134 Beiträge
 
Delphi 7 Personal
 
#2

Re: Hooking

  Alt 10. Aug 2006, 15:56
Dafür brauchst du einen Globalen(Dll- Injection) API- Hook.
Trainer z.B. benutzen eigentlich keinen Hook, sie lesen mit ReadProcessMemory den speicher des jeweiligen Prozesses
aus, analysieren es und verändern den Speicher mit WriteProcessMemory.

Also alles was du brauchst ist eingentlich ein Globaler Hook für die functionen ReadProcessMemory und WriteProcessMemory.
Am besten du benutzt die Collection von Madshi.

Such mal hier im board nach einen Trainer. Dan weist du wie ein Tainer genau funzt.

Zitat:
[...] was allerdings blöd für ein AntiVirus oder eine Firewall wird
Wiso? Sollange du im Userland bis
  Mit Zitat antworten Zitat
silent vapor

Registriert seit: 8. Jan 2003
27 Beiträge
 
#3

Re: Hooking

  Alt 11. Aug 2006, 07:11
Danke für deine Antwort.
Jetzt weiß ich schonmal wie ich das Anstellen kann.
Ich werde die Dateien des Spiels auf Checksums prüfen und dann wie du gesagt hast einen globalen Hook auf die Funktionen (wenn ich wüsste wie )

Ich hab mir die Examples von der uallCollection schon angeschaut, einige sind sehr einfach, aber ich habe leider nichts zu FunktionenHooks gefunden.
Das Beispiel: RelocHook sieht mir sehr danach aus. Nur leider kenn ich mich nicht sehr im Hooking aus.
Könntest du oder ein anderer mir ein bisschen auf die Sprünge helfen, vll mit einem CodeExample oder ähnlichem, wie ich so einen globalen Funktionshook auf bestimmte Funktionen mache?

Ich müsste ja theoretisch die Funktionen überwachen und schauen, ob eine der beiden Funktionen auf meinen Prozess zugreifen wollen.
----
mfg
silent
  Mit Zitat antworten Zitat
StefanG

Registriert seit: 23. Feb 2006
74 Beiträge
 
#4

Re: Hooking

  Alt 11. Aug 2006, 07:30
guck dir die MadCollection an, die oben gepostet wurde, da sind viele solcher demos dabei (im Ordner Demos --> MadCodeHook)
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#5

Re: Hooking

  Alt 11. Aug 2006, 08:57
schau mal ins Forum bei madshi.net
Da ist unter anderem eine Funktion von mir die Hooks erkennt.
  Mit Zitat antworten Zitat
silent vapor

Registriert seit: 8. Jan 2003
27 Beiträge
 
#6

Re: Hooking

  Alt 11. Aug 2006, 10:15
So, ich habe mir jetzt die ganzen Beispiele von der MadCollection nochmal angeschaut, ich finde da keinen Ansatz wo ich sagen kann ich möchte prüfen ob ein Prozess mit einer bestimmen Funktion (z.B: ReadProcessMemory) angesprochen wird.

@brechi
Das Forum da ist sehr groß, leider konnte ich dort auch nicht deine Funktion finden. Habe nach Stichworten gescuht und nach deinem Nick, aber leider keine Treffer.

Kann mir einer von euch nicht gerade ein Beispielcode liefern?
In welche dll müsste ich meinen Hook eigentlich packen, um Global zu schauen, welche Funktionen auf welche Prozesse zugreifen?

Danke vielmals!
----
mfg
silent
  Mit Zitat antworten Zitat
StefanG

Registriert seit: 23. Feb 2006
74 Beiträge
 
#7

Re: Hooking

  Alt 11. Aug 2006, 10:41
Zitat von silent vapor:
So, ich habe mir jetzt die ganzen Beispiele von der MadCollection nochmal angeschaut, ich finde da keinen Ansatz wo ich sagen kann ich möchte prüfen ob ein Prozess mit einer bestimmen Funktion (z.B: ReadProcessMemory) angesprochen wird.
Dazu musst du die API ReadProcessMemory Hooken, bei jedem Aufruf dieser API wird dann deine Callbackfunktion aufgerufen.
Der erste Parameter der in ReadProcessMemory übergeben wird ist das Processhandle, damit kannst du prüfen ob dein Spiel (oder was auch immer) das ziel ist.

Zitat:
@brechi
Das Forum da ist sehr groß, leider konnte ich dort auch nicht deine Funktion finden. Habe nach Stichworten gescuht und nach deinem Nick, aber leider keine Treffer.
sein nick dort ist uall.
Hier der Link zu dem Thread :
http://forum.madshi.net/viewtopic.ph...light=ishooked

Zitat:
Kann mir einer von euch nicht gerade ein Beispielcode liefern?
In welche dll müsste ich meinen Hook eigentlich packen, um Global zu schauen, welche Funktionen auf welche Prozesse zugreifen?
du musst eine eigene, neue DLL erstellen. Diese lädst du dann mittels der Funktion InjectLibrary in einen bestimmten oder alle laufenden Prozesse. Wie gesagt, im Demos Ordner von MadCodeHook findest du genügend Beispiele.

DU kannst mich sonst auch per ICQ anschreiben (318270655)
  Mit Zitat antworten Zitat
silent vapor

Registriert seit: 8. Jan 2003
27 Beiträge
 
#8

Re: Hooking

  Alt 11. Aug 2006, 10:57
Danke für deine Antwort, hat mir weitergeholfen!
----
mfg
silent
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#9

Re: Hooking

  Alt 11. Aug 2006, 11:22
Wobei das globale Hooking aber leicht umgangen werden kann.
Du solltest eine Dll in den Prozess des Spiels laden und dann eben schauen ob dort vom Cheat Funktionen gehookt wurden.
Cheats die z.b. nur irgend welche Variablen mit WriteProcessMemory ändern wirst du nicht erkennen können.
  Mit Zitat antworten Zitat
StefanG

Registriert seit: 23. Feb 2006
74 Beiträge
 
#10

Re: Hooking

  Alt 11. Aug 2006, 11:38
jo, wobei es bei der IsHooked funktion ja auch gewisse einschränkungen gab oder?

Generell solltest du mit dem Hooken von Read/WriteProcessmemory, VirtualAlloc(ex) etc aufpassen, da fast jede HookinEngine diese Funktionen intern auch benutzt....kann leicht mal zu Problemen führen.

@brechi : http://forum.madshi.net/viewtopic.php?t=1907
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz