Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 17:18

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

Advertisement



[Frage] DllCall, EndScence, Hook, LUA Injection

Discussion on [Frage] DllCall, EndScence, Hook, LUA Injection within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2006
Posts: 553
Received Thanks: 96
[Frage] DllCall, EndScence, Hook, LUA Injection

Hallihallo,
ich bin mir nicht ganz sicher, ob da hier richtig ist, da es sich auf WoW bezieht.

Ich möchte via AutoIt ein kleines Tool schreiben, mit dem ich z.B. den 'Charakter erstellen' Button drücken kann, ohne das WoW Fenster maximiert zu haben (ControlClick, Mouseclick plus funktionieren bei WoW nicht).

Dazu hab ich mich natürlich schon schlau gemacht und bin auf einige Begriffe wie Endscene, Hook, LUA Injection und die Funktion WowLuaDoString gestoßen.

Jetzt meine Frage: Besteht die Möglichkeit mit C# oder C++ eine .dll zuschrieben, die ich via DllCall aufrufen kann um LUA befehle an WoW zu senden? z.B. um den oben genannten 'Charakter erstellen' Button zu drücken?

Die Benutzeroberfläche von WoW besteht ja hauptsächlich aus GlueXML und ich vermute mal, dass man die einzelnen Komponenten (Auch Eingabefelder, etc.) einfach mit Strings via LUA Injection ansteuern kann.

Wäre nett, wenn jemand helfen könnte.

Gruß Lumpy
Lumpy is offline  
Old 04/23/2011, 19:41   #2
 
BlackHybrid's Avatar
 
elite*gold: 52
The Black Market: 101/0/0
Join Date: Oct 2010
Posts: 1,998
Received Thanks: 389
Ich glaub du hättest deine Frage lieber in der Gamehacking / Coding section stellen sollen, weil das eigentlich recht wenig mit AutoIt zu tun hat.
BlackHybrid is offline  
Old 04/23/2011, 19:44   #3
 
elite*gold: 0
Join Date: Sep 2006
Posts: 553
Received Thanks: 96
Dann würden aber die ganzen Kids wieder rumjammern, weil AutoIt keine Hochsprache ist und man schließlich den DllCall in AutoIt machen muss.

Aber danke für den Hinweis, ich wende mich mal an nen Mod.
Lumpy is offline  
Old 04/23/2011, 20:04   #4
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
das ganze sollte recht wenig mit irgendwelchen hochsprachen zu tun haben. einfache remotethreads wie button betätigung sollten auch über autoit kein problem sein...

würde mich wundern, wenn man dafür eine dll benötigt
lolkop is offline  
Old 04/23/2011, 20:16   #5
 
elite*gold: 0
Join Date: Sep 2006
Posts: 553
Received Thanks: 96
Hättest du denn auch ne Idee, wie man das am besten macht?

Schließlich lebt ein Forum nicht von Antworten wie "Aldi" auf Fragen, wie "Welchen Käse kauf ich am besten?"...
Lumpy is offline  
Old 04/23/2011, 20:44   #6
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
habe leider weder wow installiert, noch mich jemals damit befasst.

die normale vorgehensweise ist halt folgende...

funktion im client suchen
aufruf untersuchen (parameter?, zu setzende register?)

danach einfachen asm code als binärcode fertigstellen (am einfachsten wäre aus dem debugger kopieren)

per virtualallocex einen eigenen speicherbereich freigeben
per writeprocessmemory deinen code dort einfügen
per createremotethread das ganze starten
waitforsingleprocess zum warten auf fertigstellung
virtualfreeex um den freigegebenen speicherbereich wieder zu löschen

habe schon öfters bots für silkroad geschrieben...

ein einfaches beispiel wäre zb

wobei hier schon etwas etwas asm kenntnisse vorraussetzung sein sollten.

später habe ich mir dann aber udfs geschrieben, welche das ganze doch deutlich übersichtlicher gestalten =)
lolkop is offline  
Old 04/24/2011, 00:14   #7
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Quote:
Originally Posted by lolkop View Post
habe leider weder wow installiert, noch mich jemals damit befasst.

die normale vorgehensweise ist halt folgende...

funktion im client suchen
aufruf untersuchen (parameter?, zu setzende register?)

danach einfachen asm code als binärcode fertigstellen (am einfachsten wäre aus dem debugger kopieren)

per virtualallocex einen eigenen speicherbereich freigeben
per writeprocessmemory deinen code dort einfügen
per createremotethread das ganze starten
waitforsingleprocess zum warten auf fertigstellung
virtualfreeex um den freigegebenen speicherbereich wieder zu löschen

habe schon öfters bots für silkroad geschrieben...

ein einfaches beispiel wäre zb

wobei hier schon etwas etwas asm kenntnisse vorraussetzung sein sollten.

später habe ich mir dann aber udfs geschrieben, welche das ganze doch deutlich übersichtlicher gestalten =)
Und dann zusehen, wie warden dir den ***** aufreißt? ;p
MoepMeep is offline  
Old 04/24/2011, 03:44   #8
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
Quote:
Originally Posted by MoepMeep View Post
Und dann zusehen, wie warden dir den ***** aufreißt? ;p
wieso?

Edit:
sry für mein unwissen aber ich weis nicht wer warden ist :s
lolkop is offline  
Old 04/24/2011, 10:37   #9
 
.BritainAndy's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,385
Received Thanks: 1,006
Ist warden nicht irgendein Hack Schutz von Wow?
.BritainAndy is offline  
Old 04/24/2011, 11:02   #10
 
elite*gold: 0
Join Date: Sep 2006
Posts: 553
Received Thanks: 96
Warden soll zunächst keine Rolle spielen.

Danke für den Ansatz lolkop, aber ich denke, dass ich es über LUA Injection machen. Denn schließlich hat WoW durch GlueXML schon vordefinierte Befehle, mit denen man sich z.B. auch einloggen kann.
DefaultServerLogin(), ChangeRealm(x,y), ...
Lumpy is offline  
Old 04/24/2011, 12:33   #11
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Quote:
Originally Posted by lolkop View Post
wieso?

Edit:
sry für mein unwissen aber ich weis nicht wer warden ist :s
Überleg mal, wieso sich die ganzen gescheiten WoW bots soweit wie möglich aus dem Speicher raushalten
MoepMeep is offline  
Reply

Tags
dllcall, endscence, hook, lua injection


Similar Threads Similar Threads
DLL injection und AutoIT DLLCall
11/30/2010 - AutoIt - 4 Replies
Hallo, ich hab ein Problem was mit seit ein paar Stunden den Kopf zerbricht, vllt ist es auch einfach der falsche Ansatz. Ich hab mir eine DLL zum injizieren mit C++ geschrieben, durch Winject wird diese auch injiziert und die main Funktion durch die WINAPI DLLMain aufgerufen (einfach nur eine MsgBox). Jetzt besteht meine Frage / Problem darin, kann ich mit AutoIt die restlichen Funktionen auch aufrufen (durch DLLCall) oder soll man dass auch lieber mit C++ realisieren. (andere...



All times are GMT +1. The time now is 17:18.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.