Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 23:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Hack-Competition] Make a Hack for my Program

Discussion on [Hack-Competition] Make a Hack for my Program within the General Coding forum part of the Coders Den category.

Reply
 
Old 03/07/2011, 08:03   #106
 
Kaktusfresser's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 19
Received Thanks: 3
Bypass?Patch? Wozu das, wenn man die COMODO Firewall nutzt
Interprocess Memory Access? Verbieten^^
Physical Memory Access? Nö!
Window Messages? Erst recht nich!
Dann noch Cheat Engine als Protected Application hinzufügen und dein Programm meint nixmehr zu CE^^
Edit: merke grade, die x64 Edition von Cheat Engine 6 wird sowieso nicht detected^^ xD
Kaktusfresser is offline  
Old 03/07/2011, 11:13   #107
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
Quote:
Originally Posted by Kaktusfresser View Post
Bypass?Patch? Wozu das, wenn man die COMODO Firewall nutzt
Interprocess Memory Access? Verbieten^^
Physical Memory Access? Nö!
Window Messages? Erst recht nich!
Dann noch Cheat Engine als Protected Application hinzufügen und dein Programm meint nixmehr zu CE^^
Edit: merke grade, die x64 Edition von Cheat Engine 6 wird sowieso nicht detected^^ xD
Ich glaub, dass die Detection-Routine in v1.2 noch garnicht funktioniert, weil sie in einem externen Thread läuft, und da iwie nur ganz wenige Prozesse finden kann.
Ich weiß nur leider nicht, wieso..
Mi4uric3 is offline  
Old 03/07/2011, 13:08   #108


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Dass die Funktion immer 0 zurück gibt, stimmt ja nicht ganz, sie returnt einfach, d.h. es wird der Wert, der als letztes im eax register war, als Rückgabewert interpretiert.
Wenn man die Funktion hooken würde, ließe sich noch einiges mehr machen.
Erste Bytes prüfen? Klar, nur gibts zig Methoden zum Hooken, es wäre nicht wirklich effektiv.

Was die Klasse angeht: Meines Wissens gibt man den Namen der Klasse bei der Fenstererstellung an.
Außerdem lassen sich die Funktionen zum Auslesen der Klasse usw. auch leicht hooken.

Wie du es machen sollst? Wie man bei zahlreichen Anti-Cheat Programmen sieht: offline fast unmöglich.
Du könntest einen Treiber laden, der den Zugriff auf deinen Prozess verbietet und der über die Nutzung von bestimmten Api Funktionen wie WriteProcessMemory Hacks erkennt.
Zusätzlich noch Checksums vom Speicher und Dll Injection Erkennung.
Und trotzdem ließe sich all das noch relativ leicht bypassen, solange nichts von einem Server überprüft wird.

Das beste ist es immernoch, möglichst viel vom Server verwalten zu lassen und solche Dinge wie du es schon hast (obfuscation durch komplizierte berechnungen) einzubauen.
MrSm!th is offline  
Old 03/07/2011, 13:23   #109
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
Ouh ich glaub nicht, dass man mit .NET Treiber bauen kann..
ICH jedenfalls nicht
Aber das wäre natürlich ein wenig sicherer.
Meine Idee war so ähnlich..
1. Überprüfen, welche DLLs in dem Prozess sind
2. Globales Read-/Writememory Hooking
Mi4uric3 is offline  
Old 03/07/2011, 17:54   #110


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Quote:
Originally Posted by Mi4uric3 View Post
2. Globales Read-/Writememory Hooking
Welches eben am einfachsten via Kernelmode ist.
Ich empfehle dir trotzdem noch Checksums/Hashes der Code Section, sodass Codepatches schwieriger werden und, wenn es schon nicht offline ist, noch ein paar mehr Checkvalues für den Wert, der verändert werden soll.
Die Berechnungen sind wie gesagt schonmal ein guter Ansatz.

Wenn du global R/WPM und OpenProcess hookst, kannst du auf die Prozessenumeration verzichten, verbraucht nur unnötig Resourcen und ist eh unsicher.
Wenn du schon Prozesse auflisten willst, kannst du es mit einer sichereren Methode probieren:

Statt Aufzählen von Fentsern oder der unsicheren EnumProcesses Api kannst du auch mithilfe von NT Api Funktionen die EnumProcesses nachbauen.
Ich weiß nicht mehr genau, wie es aufgebaut ist, jedenfalls war die NtQuerySystemInformation mit einbezogen, mit der alle laufenden Prozesse ausgelesen werden können.
Ich hab auch mal davon gehört, dass man mit csrss.exe an die laufenden Prozesse kommen kann, weiß aber nichts genauers dazu.
Verzichte jedenfalls auf offensichtliche Apis wie EnumProcesses, EnumProcessModules, EnumWindows, FindWindow, IsDebuggerPresent, usw.


Was btw. eine nette Idee für deinen Check wäre:
Ein Checkvalue der in irgendeiner mathematischen Abhängigkeit zum richtigen Wert steht. Ein Hash von beiden muss immer gleich sein (klingt etwas komisch formuliert, ich weiß. Ich meine damit, wenn man die beiden in irgendeiner Form verbindet (simple Multiplikation oder irgendetwas komplizierteres) muss immer das gleiche Ergebnis herauskommen (dementsprechend wird natürlich der Checkvalue immer akualisiert, wenn der richtige mit dem Button verändert wird), sodass auch immer der gleiche Hash herauskommt).
Ein Hash deswegen, damit es für Reverser schwieriger wird, die Abhängigkeiten nachzuvollziehen, wenn sie beim Check nur irgendwelche Hashes vorfinden.
Damit der von lolkop1 angesprochen Performanceverlust nicht eintritt, könnte man diesen Check nur jede Sekunde o.Ä. durchführen.
MrSm!th is offline  
Old 03/08/2011, 18:40   #111
 
elite*gold: 9
Join Date: Dec 2009
Posts: 1,071
Received Thanks: 819
Äham....


Quote:
Was btw. eine nette Idee für deinen Check wäre:
Ein Checkvalue der in irgendeiner mathematischen Abhängigkeit zum richtigen Wert steht. Ein Hash von beiden

muss immer gleich sein (klingt etwas komisch formuliert, ich weiß. Ich meine damit, wenn man die beiden in

irgendeiner Form verbindet (simple Multiplikation oder irgendetwas komplizierteres) muss immer das gleiche

Ergebnis herauskommen





Quote:
(dementsprechend wird natürlich der Checkvalue immer akualisiert, wenn der richtige mit dem Button

verändert wird), sodass auch immer der gleiche Hash herauskommt).
Ein Hash deswegen, damit es für Reverser schwieriger wird, die Abhängigkeiten nachzuvollziehen, wenn sie beim

Check nur irgendwelche Hashes vorfinden.
.Infinite is offline  
Old 03/08/2011, 22:08   #112


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Das Problem daran ist ja, dass var hier eine globale Variable ist und dementsprechend geändert werden kann.
Und da du sie auch direkt so, wie sie im Speicher ist, auf dem Label anzeigen lässt, wäre es auch nicht schwer, danach zu suchen.
MrSm!th is offline  
Old 03/09/2011, 00:16   #113
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
Ich muss nurnoch herausfinden, wie ich den eigenen Memory überprüfen kann ohne readprocessmemory...
Aber sicherheitshashes hin oder her..
Einen funktionierenden Hack hat noch niemand gemacht :d
Mi4uric3 is offline  
Old 03/09/2011, 00:42   #114


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Mir fehlt die Motivation :P

Wieso RPM? Ist doch dein eigener Adressebereich. Du kannst ganz einfach auf den Speicher zugreifen.
In C++ sowieso und in C# müsste dass doch über das unsafe (oder war es unmanaged?) keyword gehen, damit man Pointerarithmetik anwenden kann.
RPM ist ja Blödsinn für den eigenen Speicher.

Allerdings hast du dir da echt die falsche Sprache ausgesucht, für gute (so gut es offline eben geht) Schutzmechnismen muss man tief ins Windows System eingreifen, vor allem in die NtApi, da ist das Überprüfen des eigenen Speichers über Pointer das geringste Problem, was ja wie gesagt, deutlich einfacher in einer nativen Sprache wäre ;O
MrSm!th is offline  
Old 03/09/2011, 00:55   #115
 
elite*gold: 577
Join Date: Oct 2009
Posts: 665
Received Thanks: 3,502
Quote:
Originally Posted by MrSm!th View Post
Mir fehlt die Motivation :P

Wieso RPM? Ist doch dein eigener Adressebereich. Du kannst ganz einfach auf den Speicher zugreifen.
In C++ sowieso und in C# müsste dass doch über das unsafe (oder war es unmanaged?) keyword gehen, damit man Pointerarithmetik anwenden kann.
RPM ist ja Blödsinn für den eigenen Speicher.

Allerdings hast du dir da echt die falsche Sprache ausgesucht, für gute (so gut es offline eben geht) Schutzmechnismen muss man tief ins Windows System eingreifen, vor allem in die NtApi, da ist das Überprüfen des eigenen Speichers über Pointer das geringste Problem, was ja wie gesagt, deutlich einfacher in einer nativen Sprache wäre ;O
Ja, aber da hat er das Problem mit Segmention faults, falls die Page freigegeben oder nur reserved ist.
(Ich weiß jetzt nicht ob man in .NET Sprachen SEHs verwenden kann.)
Aber um ohne SEHs eine SIGSEGV zu vermeiden müsste er IsBadReadPtr oder VirtualQuery verwenden.

Mit RPM hat er dieses Problem nicht.

(Wenn er aber weiß, dass die Adresse valid ist, kann er natürlich memcpy & co. verwenden).

edit: Für .NET wohl eher RtlMoveMemory.

Kind Regards Tim
tim66613 is offline  
Old 03/09/2011, 01:02   #116


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Quote:
(Wenn er aber weiß, dass die Adresse valid ist, kann er natürlich memcpy & co. verwenden).
Das gibts in C#? Achso, wusste nicht, dass man in ner managed Sprache so nen rohen Speicherzugriff vornehmen kann, außer durch dieses unmanaged keyword^^

Eventuell wäre es auch möglich, mithilfe einer Dll, die in einer nativen Sprache geschrieben wurde, die nötigen Funktionen bereitzustellen, die könnte ihm ja ein netter Anti-Cheat Begeisterter Programmierer bereitstellen
MrSm!th is offline  
Old 03/09/2011, 16:14   #117
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
Okay ich merke, dass mir der Stoff ein bisschen zu tief gräbt
Dazu bin ich glaub ich noch nicht fortgeschritten genug...
Mi4uric3 is offline  
Old 03/09/2011, 20:46   #118
 
bvz's Avatar
 
elite*gold: 0
Join Date: Nov 2010
Posts: 260
Received Thanks: 266
Quote:
Originally Posted by xNopex View Post
Wenn du mir erklären würdest, wie dein "Anti-Cheat" Zeug funktioniert, könnte ich es auch leicht "detecten"/aushebeln o,ô bzw. wenn du mir den src geben würdest... Ohne Möglichkeit zu debuggen ist das schon lustig gemeint...
Besorg dir nen Reflektor
bvz is offline  
Old 03/09/2011, 23:13   #119
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
@Vorposter:
Wenn ich unqualifizierten Müll lesen will, schau ich mir meine Beiträge-History an. Auf solche Tipps kann ich gerne verzichten. Die Antwort passt weder in den Kontext des Gesprächs, noch ist sie auf irgendeine Art sinnvoll. Beides wüsstest du, wenn du dir den gesamten Thread durchgelesen hättest, bzw. dich auch nur Sekunden mit der Problematik auseinandergesetzt hättest.
xNopex is offline  
Thanks
1 User
Old 04/18/2011, 20:47   #120
 
PANDA1998's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 44
Received Thanks: 1
boah immer diese scheis noobs mit ihren Trojanern!Alda ihr könnt mich mal alle am ***** lecken!
PANDA1998 is offline  
Reply


Similar Threads Similar Threads
Hack or Program Hack That Works For GamezAion?
08/23/2010 - Aion Private Server - 2 Replies
Hello Just Wondering is there a Hack or Program Hack thats working for GamezAion available thats free or need to be paid for? Please Give Working Ones thanks with details^^
100% Working Barny21 Wallhack With Bypass Program : COMPETITION Here!
12/09/2009 - Soldier Front Philippines - 4 Replies
CLOSE THREAD!
Best program to make Speed, Superman, fly, ect Hack?
11/25/2007 - Conquer Online 2 - 0 Replies
I like to know what program people prefere to make Speed, Superman, Fly, Lucky Time, ect Hacks?
Whats The Best Program To Make A Hack
12/21/2006 - Conquer Online 2 - 2 Replies
What the best program to make hack for conquer



All times are GMT +1. The time now is 23:09.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.