Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 11:20

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

Advertisement



[VB.Net2010] Tastenfolge an Spiel senden (DAOC)

Discussion on [VB.Net2010] Tastenfolge an Spiel senden (DAOC) within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
Question [VB.Net2010] Tastenfolge an Spiel senden (DAOC)

Guten Morgen Gemeinde

ich habe mal wieder ein Problem beim programmieren und komm nicht weiter.

Ich möchte verschiedene Tasten an das Spiel DAOC senden, nur lässt es das nicht so ganz zu glaube ich.

Mit WoW funktioniert es komischerweise problemlos, aber eben bei DAOC nicht.

Ich habe es mit Sendmessage, Postmessage, SendInput versucht, aber es zeigt keine wirkung.

Ausser bei SendInput, da gibts ne kleinigkeit. Wenn ich nur Enter oder iwas anderes simuliere passiert garnichts, aber wenn ich zb in DAOC das chatfenster öffne, einen text eingebe und dann mein Programm die Enter Taste schicken lasse, dann schickt er das auch weg.

Aber ich möchte zb die Taste 7 an das spiel senden, weil da dann eine Aktion leigt um zb iwas herzustellen.

Ich habe iwo gelesen, das es mit DirectInput geht, aber nutzt DirectInput nicht auch SendInput im endeffekt?

Ich find nirgens was gescheites, vllt könnt ihr mir helfen

Gruß,
Dominic
dominic.e is offline  
Old 11/28/2011, 19:36   #2
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
DirectInput ist doch von DirectX für eigene Games wenn ich mich nicht irre.

Warscheinlich blocked DOAC einfach virutelle Inputs.
vwap is offline  
Old 11/28/2011, 20:54   #3
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
Das is halt jetzt die Frage, ob DAOC die inputs blockt, aber es muss doch iwie ne möglichkeit geben
dominic.e is offline  
Old 11/30/2011, 09:39   #4
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
weiss denn niemand was? -.-' wie siehts aus, wenn ich iwie noch autoit nutze, vllt klappts damit besser.

was gibts denn alles fuer moeglichkeiten bei autoit um tastenanschlaege zu senden?

gruss
dominic.e is offline  
Old 12/01/2011, 09:45   #5
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Quote:
Originally Posted by dominic.e View Post
weiss denn niemand was? -.-' wie siehts aus, wenn ich iwie noch autoit nutze, vllt klappts damit besser.

was gibts denn alles fuer moeglichkeiten bei autoit um tastenanschlaege zu senden?

gruss
Du verstehst nich ganz. DOAC blockt virtuelle Inputs.
Da nutzt dir auch AutoIt nichts.
vwap is offline  
Old 12/01/2011, 09:52   #6
 
s3cid's Avatar
 
elite*gold: 15
Join Date: Jul 2010
Posts: 197
Received Thanks: 12
Genau wie Headpuster sagt, das Spiel blockt virtuelle inputs.
Du wirst mit VB nichts coden können, was den Hackshield umgeht.
s3cid is offline  
Old 12/01/2011, 10:32   #7
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
okay, hab ich mir dann schon fast gedacht

gaebe es dann eine alternative moeglichkeit, oder kann man bzw das projekt sozusagen jetz inn wind schiessen? ueber iwelche injektionen, bzw andere programmiersprachen, mir is alles recht

danke schonmal fuer euren hinweis wegen blocken der inputs.

gruss
dominic.e is offline  
Old 12/01/2011, 13:40   #8
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
BlockFunction mit C++ hooken und Error returnen.
vwap is offline  
Old 12/01/2011, 18:06   #9
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
was soll error returnen heissen? bzw was damit gemeint.

ich hab ma n bisschen recherchiert und es gibt wohl die moeglichkeit uebern bypass, so wies bei flyff un so gemacht wird. also die send- oder postmessage aufrufen aber iwie die ersten 5bytes uebersprungen weil die das spiel doch iwie nutzt um das zu filtern.

werde mich mal daran versuchen

gruss,
dominic

Edit:
Ich hab mir mal das Tutorial/How-To angeguckt hier :

aber iwas versteh ich da nicht ganz, den code versteh ich schon soweit nur wie und wo ich den genau reinsetzen muss.

der erste große codeteil (wo die windows.h includiert wird bis zum ende der mypostmessagea function) hab ich kp wo genau im vc++2010 projekt das hinkommt.
kommt das in die haupt cpp oder wohin genau? mein projekt hab ich agp_api genannt, sprich meine datei heißt dann agp_api.cpp.

der zweite große codeteil kommt ja in die dllmain.cpp wenn ich das richtig verstanden habe, aber wenn ich das dann debuggen will meckert er rum, weil er ja die variablen nicht kennt, weil sie ja in agp_api.cpp deklariert sind, is ja klar und verständlich.

Was ich noch versucht habe ist, alles in die dllmain.cpp zu packen, dann meckert er auch nicht, aber ich kann am ende die dll nicht in meinem vb.net projekt aufrufen -.-' iwo versteh ich das nicht...

Wäre cool wenn ihr mir vllt n bissl helfen könnt

Gruß

Also, ich habs jetzt zwar hinbekommen eine dll zu erstellen, aber iwie klappt da noch garnichts wenn ich sie in meinem vb projekt deklariere klappt auch alles und wenn ich die funktion dann aufrufe passiert garnichts.

Hier is mal der Code der Dll :

Code:
#include "stdafx.h"
#include <windows.h>

HINSTANCE hInst; 
DWORD DLLFunc; 
HWND hWnd;

__declspec(naked) BOOL WINAPI __stdcall myPostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
   __asm
   {
      mov  edi, edi
      push ebp
      mov  ebp, esp
      jmp [DLLFunc]
   }
}

BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReason*/)
{
    switch (dwReason)
    {
        
        case DLL_PROCESS_ATTACH:
        {
               if (DLLFunc == NULL) {
                hInst = LoadLibrary("user32.dll");
                DLLFunc = (DWORD)GetProcAddress(hInst, "PostMessageA") + 5; 
                }
        }
        break;

        case DLL_THREAD_ATTACH:
            {
               if (DLLFunc == NULL) {
                hInst = LoadLibrary("user32.dll");
                DLLFunc = (DWORD)GetProcAddress(hInst, "PostMessageA") + 5; 
                }
            }
        break;
        case DLL_THREAD_DETACH:
            {
                if (hInst != NULL) {
               // Un-Load DLL
               ::FreeLibrary(hInst);
               hInst = NULL;
            } 
            }
        break;
        case DLL_PROCESS_DETACH:
        {
                if (hInst != NULL) {
               // Un-Load DLL
               ::FreeLibrary(hInst);
               hInst = NULL;
            } 
        }
        break;
    }
    return TRUE;
}
Theoretisch kann ich damit doch auch die Postmessage ganz normal aufrufen, egal ob zu nem spiel oder zu nem programm oder?
dominic.e is offline  
Old 12/02/2011, 23:30   #10
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Was willst du mit einem Gameguard Bypass?

Sieh dir das an:

Hooking per Detours.
vwap is offline  
Old 12/03/2011, 09:18   #11
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
Ich dachte mir vllt wenn ich das n bissl abändere ist das ganze universal.
Ich weiß ja nicht, OB das Spiel die dlls hooked, also die funktionen da abändert (ich denks aber schon, weil sonst müsste man ja problemlos sendmessage nutzen können).

Jetzt ist halt die frage, wie ich das am besten rausbekomme und wie ich mir dann n bypass programmiere oder iwas anderes um halt an die funktionen sendmessage un co ranzukommen um diese ans spiel zu senden.

Werde mir das video mal angucken dankeschön dafür.

Gruß,
Dominic

Edit:

Ich hab mir das Vid jetzt mal angeguckt, schon cool aber da funktioniert das ganze ja per Inject, geht das nicht auch ohne irgendwie?

Ich möchte einfach nur ein programm schreiben, welches mir zb an DAOC die Taste 7 drückt, weil er damit Castet. das ganze würde ich gerne entweder über Post- oder Sendmessage machen. Jetzt dachte ich mir schreibe ich eine dll, welche diese umleitung von DAOC beim aufruf von funktionen umleitet wieder zurück auf die eigentliche funktion (hoffentlich versteht ihr was ich meine), sodass DAOC die Message doch empfängt.

Ist das nicht so, dass immer 5bytes dafür genutzt werden um die funktion umzuleiten oder wie bekommt man das dann raus?

Gruß
dominic.e is offline  
Old 12/03/2011, 11:09   #12
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Hooks geht ohne Injection nicht.
Und nein, es werden nicht immer 5 Bytes genutzt.
vwap is offline  
Old 12/03/2011, 11:34   #13
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
Heißt im endeffekt, ich muss zwingend die dll dann injecten um den Sendmessage befehl nutzen zu können oder wie?

Edit:

Bzw was ist jetzt im Endeffekt die beste/schoenste loesung um einen tastenanschlag (zb. Enter, oder 7) an das spiel zu senden, welches ja anscheinend die virtuellen inputs blockt.

Gruß
dominic.e is offline  
Old 12/05/2011, 18:34   #14
 
elite*gold: 0
Join Date: Nov 2011
Posts: 83
Received Thanks: 22
Hier in dem TUT ist beschrieben, dass man die Funktionen dann auch ganz normal in VB.Net zb aufrufen kann.

-->

Von daher bin ich ausgegangen, das es dann auch iwie bei DAOC oder ähnlichen funzt.

Aber gibts denn nu eine schöne lösung OHNE zu injecten, mit welcher ich zb Send- und PostMessage nutzen kann?
Oder ist die beste/einzige Lösung übers injecten?

Gruß und Danke schonma,
Dominic
dominic.e is offline  
Old 12/05/2011, 21:31   #15
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Quote:
Originally Posted by dominic.e View Post
Hier in dem TUT ist beschrieben, dass man die Funktionen dann auch ganz normal in VB.Net zb aufrufen kann.

-->

Von daher bin ich ausgegangen, das es dann auch iwie bei DAOC oder ähnlichen funzt.

Aber gibts denn nu eine schöne lösung OHNE zu injecten, mit welcher ich zb Send- und PostMessage nutzen kann?
Oder ist die beste/einzige Lösung übers injecten?

Gruß und Danke schonma,
Dominic
Nochmal, GameGuard und die ganzen anderen CrapBlocker blocken virtuelle Inputs nicht.
Sondern direkt das Spiel blockt sie.

Somit kannst du alle HighLevel-Programmiersprachen mal direkt vergessen.
Was anderes als C / C++ + ASM bleibt dir nicht übrig.
Block Funktion mit OllyDBG reversen (z.B. mit einem VB-Programm einen virtuellen Input senden, dann in den Stack schauen, was gerade gepusht wird und dann die Function bis zum Urpsrung verfolgen), dann in C++ hooken (z.B. mit Detours, HWBPs oder what ever) und am Ende statt dem Pointer "ERROR_SUCCESS" returnen und die Funktion sollte ausgehebelt sein.
vwap is offline  
Reply


Similar Threads Similar Threads
WTS / Trade Daoc Uthgard Acc. (S) US Daoc Acc.
04/28/2023 - Trading - 4 Replies
Want to Sell or Trade my Uthgard Account vs. US Daoc Acc. on Midgard or Albion. I have this Account to sell/trade on Uthgard: Celt - Ranger - lvl50 - 10str/con/dex rr4L3 mos3, pd3, purge1,ip1 36+14 Pierce 35+14 Stealth
[VB.Net2010] Beliebiges Fenster in Vordergrund
11/27/2011 - .NET Languages - 11 Replies
Guten Tag Gemeinde ;) ich hab da so n kleines Problem und zwar soll ich für meinen Bruder etwas für ein Spiel programmieren. Bei dem Spiel handelt es sich um DAOC. Mein Problem derzeit ist, das ich das Fenster nicht in den Vordergrund bekomme, habe schon diese sachen versucht : -ShowWindow -SetForeGroundWindow -PostMessage bei keinen der drei bekomme ich das Hauptfenster in den vordergrund, wenn ich das ganze mit wow teste, klappen alle drei problemlos.
[VB.NET] Tastatureingaben an Spiel senden ?
09/30/2011 - .NET Languages - 11 Replies
Hallo, ihr scheint ja ziemlich fit zu sein was das Thema Games, Trainer usw. angeht. Ich versuche nämlich krampfhaft Text aus einem VB Programm an ein Spiel zu senden, welches DirectX verwendet. Die normalen Methoden (Sendkeys, keybd_event) funktionieren nicht. Hätte da jemand eine Idee ? Greetz Marook
[Hilfe]Spiel Hack/Trainer erstellen (kein online spiel)
06/14/2011 - General Gaming Discussion - 2 Replies
Hallo Epvp, Ich habe eine frage und die wäre ob mir irgendjemand helfen würde ein spiel zu hacken also z.B. Need for Speed Carbon.Ich weis das es leichter gesagt als getan ist!!! Ich möchte sozusagen ein Hack bzw. einen Trainer progrmieren das man z.B. Max. Geld hat.Und ich wollte fragen wo ich anfangen d.h. ob es programme gibt die mir dabei helfen. (ich habe grundkenntnise in VB08 aber ich bezweifel das es mir weiter hilft^^) Ich würde mich echt freuen wenn mir jemand helfen würde (geb...
[Auto It] Tastenfolge
03/24/2011 - AutoIt - 3 Replies
Hallo, Wie bekomm ich das hin das ich wenn ich Zbsp. T Drücke die Tasten WASD Stoppen?



All times are GMT +2. The time now is 11:20.


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.