PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GUI mit .dll injecten



FeroX1337
05.01.2012, 14:16
Hallo,

ihr kennt sicher das Spiel "League of Legends". Hierzu gibt es Tools, die von Spielern geschrieben wurden. Unter anderem ein "Jungle Timer".

Dieses Tool ist eine GUI im Game als .dll injected. Mit einem gewissen Tastendruck startet ein Timer, welcher im Spiel zu sehen ist.

Ich weiß: Es gibt ein paar public Tools zum download. Da mir diese alle nicht gefallen, ein paar Funktionen hat die man nicht brauch oder welche die fehlen, möchte ich aus eigenem Interesse so ein Tool programmieren.

Nun meine Frage: Hat jemand zufällig schon den Sourcecode von so einem Timer, den ich verwenden könnte? Oder hat jemand eine Idee, wie ich eine GUI vom Desktop in das Spiel integieren kann?
Das Programm als normale GUI zu coden und im Hintergrund laufen zu lassen, ist kein Problem. Ich möchte es nur gerne im Spiel integrieren.

Viele Grüße

IRET
05.01.2012, 14:19
Wenn die DLL-Injection verwendet wird, dann wird höchstwahrscheinlich gehookt. EInfaches Tutorial hier: http://www.purplesecurity.net/?p=11
Je nachdem was verwendet wird (OpenGL oder DirectX) musst du die richtigen Funktionen hooken. Ich gehe mal von DirectX aus. http://www.elitepvpers.com/forum/warrock-guides-tutorials-modifications/713781-how-d3d-hooking-erstellen.html
Ich hoffe das hilft dir fürn Anfang. Und keine Sorge mit der Zeit wird das klarer und klarer und alles erscheint simpel ;).

FeroX1337
06.01.2012, 15:12
Ich hab das ganze ja nicht ganz einfach vorgestellt, aber so komplex xD
Hast du oder jemand anderes schonmal so ein Tool programmiert und würdest den Source Code zum benutzen hergeben?

Ein schon kompletter Sourcecode mit dem ich mein Wunschprogramm anpassen könnte wäre perfekt.

krusty
06.01.2012, 19:18
Ein schon kompletter Sourcecode mit dem ich mein Wunschprogramm anpassen könnte wäre perfekt.
Lol, Guttenberg lebt, dabei beinhaltet der EPVPers Link doch schon nen kompletten Source zum C&Pn.

Lerne c++ und beschäftige dich mit Hooking.
Beim DirecX Hook "entführst" du eine Funktion, die im Spiel zeichnet. Du hast dann selbst Zugriff auf die Zeichenmethoden und kannst im Spiel zeichnen.

gORDon_vdLg
07.01.2012, 14:14
Naja wenn du ne Gui in ein Spiel zeichen willst kommst du nicht drum herum dich mit DX bzw. Ogl zu beschäftigen, du solltest damit anfangen einfach mal eine simple 3D Anwendung zu schreiben wo meinet wegen ein drehendes Quadrat im Fenster schwebt und dann kümmerst du dich darum ne simple Gui darein zu zeichnen. Wenn du das geschafft hast erklärt es sich dir von ganz allein wie du das in einer fremden Anwendung umsetzen kannst, du weißt dann das du z.B. die EndScene Funktion hookst die immer am Ende eines Frames aufgerufen wird und malst dann quasi über den fertigen Frame drüber.

KingClem
12.01.2012, 21:13
Nunja, ich kenne das spiel nich gehe aber mal D3D9 aus
Du musst :
Endscene Hooken um überhaupt zu drawn. Dazu benötigtst du eine Detour ,diese kannste
über Google finden ,oder gleich die von MS nehmen.Problem sämtliche die du über Google findest sind Detected gegenüber Anti Cheat Programmen ,sprich es wird noch ein Bypass für das Anti Cheat benötigt (oder du hookst intern in dem Spiel ,dazu Endscene im Spiel suchen oder eine SDK für das spiel programieren fals nich public zu finden und deren DrawFunktionen hooken.) Aber bleiben wir beim bypassen des anti cheats, dazu benötigts du :
A => Assembler kenntnisse
B => ggf Dumping Tools
C => Debugger
zu A: muss ich nichts zu sagen oder?
zu B: Zum dumpen (eine art von unpacken des "crypters") empfielt sich auf x86 system Kernel Detective ,da er DLL und EXE files dumpen kann.Auf x64 Systemen empfehle ich OllyDBG mit PERebuild plugin und StrongOD um es im Kernel Mode zu nutzen was du später brauchst.
C => Debugger ,empfehle ich eine combo aus IDA Pro (bessere ansicht) und OllyDBG zur Runtime debugging um das anti cheat zu bypassen.

Nunja ansonsten such mal nach DirectX9 TUtorial ,sollte eines public sein.

Ich wünsche viel Glück :P

s3rb31
17.01.2012, 01:13
Falls du dich, entgegen meiner Vermutung, tatsächlich damit beschäftigen möchtest, hier ein wirklich leicht verständliches Tutorial auf Deutsch.


http://www.megaupload.com/?d=4YYCEV36@KinClem

Kein Detour ist gegen eine halbwegs vernünftige AntiCheat-Engine sicher. Ein Detour schreibt effektiv zur Laufzeit im Programmspeicher rum, da kann man sich auch nen Schild übern Kopf halten und nach bannierung schreien. Detour auf Spielebene alleine reicht nicht!

FeroX1337
17.01.2012, 16:41
Danke für die vielen hilfreichen Tipps. Ich habe leider im Moment privat nicht so viel Zeit fürs programmieren. Jedoch werde ich mich in einigen Wochen mal tiefer mit der Thematik beschäftigen