Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 16:26

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


[C++] Dll unbekannter Fehler

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2009
Posts: 705
Received Thanks: 312
[C++] Dll unbekannter Fehler

Hey Com,

ich habe mal versucht eine dll für das Spiel Pinball das standardgemäß auf Windows enthalten ist zu coden. Es enthält nur einen Pointer unzwar den um die Punktezahl zu ändern, es klappt aber nicht richtig, anstatt die Punktezahl zu ändern beendet er einfach den Prozess. Vielleicht könntet ihr mir helfen.

PHP Code:
#include <windows.h>

DWORD Addr_Base PINBALL.EXE+0x0025040;
DWORD Offset[1] = {0x52};

void HackThread(){
    
MessageBoxA(NULL"Inject""Injection successful, F5 - Change Score"MB_OK);
    while(
true){
        if(
GetAsyncKeyState(VK_F5)){
            
DWORD Address = *(DWORD*)(Addr_Base);
            
Address = *(DWORD*)(Address Offset[0]);
            
DWORD Value = *(DWORD*)(Address Offset[1]);

            if(
Value == 1){
                *(
DWORD*)(Address Offset[1]) = 99999;
            }else{
                *(
DWORD*)(Address Offset[1]) = 0;
            }
            
Sleep(250);
        }

        
Sleep(50);
    }
}

BOOL WINAPI DllMain(HINSTANCE HMODULEDWORD dwReasonLPVOID lpvReserved){
    if(
dwReason == DLL_PROCESS_ATTACH)
        
CreateThread(00, (LPTHREAD_START_ROUTINE)HackThread000);
    return 
true;




v0lle is offline  
Thanks
1 User
Old 03/13/2011, 22:55   #2
 
elite*gold: 0
Join Date: Dec 2007
Posts: 321
Received Thanks: 98
Code:
DWORD Addr_Base = [COLOR="Red"]PINBALL.EXE+[/COLOR]0x0025040;
Und das kannst du so kompilieren? Sollte eigentlich nicht klappen.

//EDIT:

Code:
[COLOR="Red"]void[/COLOR] HackThread(){
Das ist leider auch kein guter Code. "DWORD WINAPI" wäre besser.

//EDIT²:

Außerdem solltest du dir nochmal den Return-Type von GetAsyncKeyState() ansehen. So wie du es verwendest kann das auch zu Problemen führen:

Quote:
Originally Posted by MSDN
Return Value

Type: SHORT

If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. However, you should not rely on this last behavior; for more information, see the Remarks.

The return value is zero for the following cases:

* The current desktop is not the active desktop
* The foreground thread belongs to another process and the desktop does not allow the hook or the journal record.


mydoom is offline  
Thanks
1 User
Old 03/14/2011, 06:32   #3
 
elite*gold: 0
Join Date: Dec 2009
Posts: 705
Received Thanks: 312
Danke erst mal. ^^
Ich meld mich noch mal, wenn weitere Probleme auftreten sollten.
v0lle is offline  
Thanks
1 User
Old 03/14/2011, 13:36   #4
failing on a final level
 
elite*gold: 46330
Join Date: Jun 2009
Posts: 28,808
Received Thanks: 25,070
Code:
+offset[1]
Ist der grund.
Dein array hat nur ein element, du greifst aber auf zwei zu


MrSm!th is offline  
Old 03/15/2011, 22:10   #5
 
elite*gold: 0
Join Date: Dec 2009
Posts: 705
Received Thanks: 312
Funktioniert noch nicht , ich hab jetzt die Zeile auf Offset[2] geändert, wenn ich die dll Datei injecte stürzt der Prozess ab.
v0lle is offline  
Thanks
1 User
Old 03/15/2011, 23:31   #6
 
elite*gold: 0
Join Date: Dec 2007
Posts: 321
Received Thanks: 98
Der Index eines Arrays beginnt (in C/C++) bei Null. Das erste Element muss demnach mit dem Index Null angesprochen werden. In deinem Fall wäre das Offset[0].
mydoom is offline  
Old 03/16/2011, 14:58   #7
 
elite*gold: 0
Join Date: Dec 2009
Posts: 705
Received Thanks: 312
Die Zuordnung eines Arrays der Größe 0 ist doch aber nicht möglich.
v0lle is offline  
Thanks
1 User
Old 03/16/2011, 17:37   #8
failing on a final level
 
elite*gold: 46330
Join Date: Jun 2009
Posts: 28,808
Received Thanks: 25,070
Du solltest vielleicht erstmal die Sprache lernen, bevor du Dlls schreibst!

Code:
DWORD Offset[1] = {0x52};
Dein Array hat nur ein Element!
Code:
      DWORD Value = *(DWORD*)(Address + Offset[1]);
Du willst mit [1] aber auf das zweite zugreifen!
Lösch diese Zeile und alle anderen, die auf [1] zugreifen, einfach aus dem Code oder füg ein zweites Offset hinzu.


MrSm!th is offline  
Reply


Similar Threads
Hamachi Unbekannter Fehler
01/25/2014 - Metin2 PServer - Discussions / Questions - 14 Replies
Ich bereite grade meinen Hamachi vor und installiere alles drauf, und jetzt seh ich sowas zum ersten mal. http://img222.imageshack.us/img222/7566/lolh.png Ist es schlimm? Kann ich dagegen was machen?
Worldserver unbekannter fehler?
07/16/2010 - Flyff PServer - Discussions / Questions - 11 Replies
Hallo com. ich habe seid 2 tagen öfters einen fehler das der World server nicht starten will und ich weiß nicht wieso habe nix an den files verändert aber manchmal geht er manchmal aber wieder nicht das nervt.. Und das steht dann immer in der...
Unbekannter Core fehler
05/22/2010 - Metin2 PServer - Discussions / Questions - 15 Replies
Hi leute ich habe einen unbekannten core fehler nach dem ich versucht habe die neuen maps zu entbuggen.ich habe die in dem thema angebotenen files eingefügt und sei dem hat der sever den core fehler. hier noch ein foto dazu siehe spoiler:...
Novos Easy Handler 0.3.7.5 Server - Unbekannter Fehler!
04/30/2010 - WoW PServer Hosting - 2 Replies
Hallo,liebe Community. Ich weiß zwar nich genau ob dieser Thread hier rein gehört aber ich mach einfach ma weiter^^. Ich habe vor nich allzulanger Zeit einen One-Klick Server von Novo erstellt. Und ich war in dem Moment am testen mit meinen...
Unbekannter Fehler.
02/07/2010 - Metin2 PServer - Discussions / Questions - 6 Replies
Habe soeben einen Fehler bekommen den ich vorher noch nie hatte :/ Vllt. könnt ihr damit ja was anfangen :S Es geht mir eig. nur um das obere, über den Cores.



All times are GMT +2. The time now is 16:26.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.