[request] X spammer for EU

08/18/2009 11:43 Nikita749#16
Awesome tutorial thx very much for the link ;)

So I'm a very beginner in programing with C++ so I have some question xD.

1st If I understand the tutorial, GG change the 1st 5 bytes of the apply. So we must to rechange the 5 bytes that GG changed before.

So I've download Visual C++ and Visual basics, & created a new DLL project. Then the first code which is:

Code:
// stdafx.h*: fichier Include pour les fichiers Include système standard,
// ou les fichiers Include spécifiques aux projets qui sont utilisés fréquemment,
// et sont rarement modifiés
//

#pragma once

#include "targetver.h"

#define WIN32_LEAN_AND_MEAN             // Exclure les en-têtes Windows rarement utilisés
// Fichiers d'en-tête Windows*:
#include <windows.h>

HINSTANCE hInst; 
DWORD DLLFunc; 
HWND hDragonica;
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]
   }
}


// TODO*: faites référence ici aux en-têtes supplémentaires nécessaires au programme
Code:
// dllmain.cpp : Définit le point d'entrée pour l'application DLL.
#include "stdafx.h"

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; 
                }
               if (hDragonica == NULL) {
                hDragonica = ::FindWindow(NULL, "DRAGONICA");
                }
        }
        break;

        case DLL_THREAD_ATTACH:
            {
               if (DLLFunc == NULL) {
                hInst = LoadLibrary("user32.dll");
                DLLFunc = (DWORD)GetProcAddress(hInst, "PostMessageA") + 5; 
                }
               if (hDragonica == NULL) {
                hDragonica = ::FindWindow(NULL, "DRAGONICA");
                }
            }
        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;
}
And BypassedPostmessage.def
Code:
LIBRARY "BypassedPostmessage" 
EXPORTS
         myPostMessageA
And then when I try to compile I've this:
Code:
1>------ Début de la régénération globale*: Projet*: BypassedPostmessage, Configuration*: Debug Win32 ------
1>Suppression des fichiers de sortie et des fichiers intermédiaires du projet 'BypassedPostmessage', configuration 'Debug|Win32'
1>Compilation en cours...
1>stdafx.cpp
1>Compilation en cours...
1>BypassedPostmessage.cpp
1>Compilation en cours...
1>dllmain.cpp
1>c:\users\jerem\documents\visual studio 2008\projects\bypassedpostmessage\bypassedpostmessage\dllmain.cpp(12) : error C2664: 'LoadLibraryW'*: impossible de convertir le paramètre 1 de 'const char [11]' en 'LPCWSTR'
1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
1>c:\users\jerem\documents\visual studio 2008\projects\bypassedpostmessage\bypassedpostmessage\dllmain.cpp(16) : error C2664: 'FindWindowW'*: impossible de convertir le paramètre 2 de 'const char [10]' en 'LPCWSTR'
1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
1>c:\users\jerem\documents\visual studio 2008\projects\bypassedpostmessage\bypassedpostmessage\dllmain.cpp(24) : error C2664: 'LoadLibraryW'*: impossible de convertir le paramètre 1 de 'const char [11]' en 'LPCWSTR'
1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
1>c:\users\jerem\documents\visual studio 2008\projects\bypassedpostmessage\bypassedpostmessage\dllmain.cpp(28) : error C2664: 'FindWindowW'*: impossible de convertir le paramètre 2 de 'const char [10]' en 'LPCWSTR'
1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\Jerem\Documents\Visual Studio 2008\Projects\BypassedPostmessage\BypassedPostmessage\Debug\BuildLog.htm"
1>BypassedPostmessage - 4 erreur(s), 0 avertissement(s)
========== Régénération globale*: 0 a réussi, 1 a échoué, 0 a été ignoré ==========
08/18/2009 13:43 raton99#17
[Only registered and activated users can see links. Click Here To Register...]

Eu bypass in this post doesn't work?
08/18/2009 13:58 ShadowOps#18
Quote:
Originally Posted by raton99 View Post
[Only registered and activated users can see links. Click Here To Register...]

Eu bypass in this post doesn't work?
Nope, didnt work from the beginning
08/18/2009 14:17 Nikita749#19
Somebody could help me to find error plz?
08/18/2009 15:21 Kuma123#20
No big point you try to build with unicode strings but use old sylte c strings:
To fix that Problem go to the Property page (Don't know how it is called in french ^^) of the Project. (in "Solution Explorer" right click on the Project, not the Solution!)
In the "Property Pages" window select on the left side "Common Propertys" -> "General"
on the right side switch "Character Set" to "Use Multi-Byte Character Set" (or use "Not set" both should work)
08/18/2009 15:41 Nikita749#21
Thx for advice I haven't this error anymore but know lot of other xD.

When I generat I've this:


Code:
1>------ Début de la génération*: Projet*: GameGuardBypass, Configuration*: Debug Win32 ------
1>Compilation en cours...
1>stdafx.cpp
1>Compilation en cours...
1>GameGuardBypass.cpp
1>Compilation en cours...
1>dllmain.cpp
1>Compilation du manifeste en ressources en cours...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Édition des liens en cours...
1>dllmain.obj : error LNK2005: "int __stdcall myPostMessageA(struct HWND__ *,unsigned int,unsigned int,long)" (?myPostMessageA@@YGHPAUHWND__@@IIJ@Z) déjà défini(e) dans stdafx.obj
1>dllmain.obj : error LNK2005: "unsigned long DLLFunc" (?DLLFunc@@3KA) déjà défini(e) dans stdafx.obj
1>dllmain.obj : error LNK2005: "struct HINSTANCE__ * hInst" (?hInst@@3PAUHINSTANCE__@@A) déjà défini(e) dans stdafx.obj
1>dllmain.obj : error LNK2005: "struct HWND__ * hDragonica" (?hDragonica@@3PAUHWND__@@A) déjà défini(e) dans stdafx.obj
1>dllmain.obj : error LNK2005: "struct HWND__ * hWnd" (?hWnd@@3PAUHWND__@@A) déjà défini(e) dans stdafx.obj
1>LINK : fatal error LNK1104: impossible d'ouvrir le fichier '/DEF:GameGuardBypass'
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\Jerem\Documents\Visual Studio 2008\Projects\GameGuardBypass\GameGuardBypass\Debug\BuildLog.htm"
1>GameGuardBypass - 6 erreur(s), 0 avertissement(s)
========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
I think it's LINK problem but I Don't know what I must do ^^'

An question, too attach .def files I must enter what kind of command?? I set this one: /DEF:GameGuardBypass but it don't work -_-

After I followed the Tuto but Do I must to configure library or it's automatic?

Thx for your help and advices
08/18/2009 17:02 Kane49#22
[Only registered and activated users can see links. Click Here To Register...]

The Picture is just to show where to add the DefFile.

After im done with classchanging in Dragonica (have to catch up on like 10 mission quests XD) i'll create a simple AutoX AutoA application or codecave one into FDG.
08/18/2009 17:38 Kuma123#23
Move
Code:
HINSTANCE hInst; 
DWORD DLLFunc; 
HWND hFlyff;
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]
   }
}
To dllmain.cpp before the DllMain()

You have code in the precompile header wich is a very bad thing. Gerenraly speaking in a good coding style all code is placed in c/cpp files and declarations go to seperate headers.
The Layout would be like this:

-stdafx.h
General includes and global defines go here, for example "#include <windows.h>" or "#define MY_VERSION 1".

-dllmain.h
The only Includes here should be for things needed in the header, for example if you use some special types from other headers. Declerations are made here, for example "__declspec(naked) BOOL WINAPI __stdcall myPostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);". Headers may be included by other source files so this is the main interface where things needed by others must be described.

-dllmain.cpp
Include stdafx.h then dllmain.h, after that come the includes only needed by dllmain.cpp, then you can write your function definitions.
(if a function is not declared in the header it only can be used in the source file. You dont need to declare functions in the source, a definition is automatically the decleration, but you can declare a function in the beginning of the source file if you want to place the actual definition further down in the file)
08/18/2009 19:15 Nikita749#24
Great thx for your Help, I've finally find an other way, xD Indeed I'm usng Xpadder and a Pad, and with good config it works perfectly.

Great thx for your help in all case ;)
08/18/2009 19:29 Drizzt1112#25
Here is the .dll
[Only registered and activated users can see links. Click Here To Register...]
The functions are called:
hndnsPMA << PostMessageA used for sending keys
hndnsSCP << SetCursorPos...... Self explanatory?