c++ Python.h und detours.h

06/15/2011 19:48 FuNyMt2#1
hi
ich benutze Microsoft visual c++ 2010

und wenn ich

#include "windows.h"
#include <Python.h>
#include "detours.h"
benutze wird nur windows.h gefunden

kann mir wer helfen
und die Python.h und so schicken

danke
06/15/2011 20:22 .BritainAndy#2
Quote:
benutze wird nur windows.h gefunden

kann mir wer helfen
und die Python.h und so schicken
du includierst die dateien obwohl du weißt , dass du sie nicht hast? -.-
google doch mal, wirst bestimmt fündig
06/15/2011 20:27 FuNyMt2#3
der source code ist nicht von mir

und wenn ich das google kommen nur seiten auf englisch und ein download link gibt es da auch nicht

hat von euch vllt einer die dateien??
06/15/2011 21:14 xNopex#4
Was willst du überhaupt mit den Headern? Ohne Lib bringen dir die eh nichts. Lad dir erstmal die ganzen SDK's runter, linke sie, gebe die Pfade an und dann klappt das auch. Aber warum will man in C++ mit Python arbeiten? o,ô
06/15/2011 21:22 FuNyMt2#5
[Hack]MobPuller (Tapferkeitsumhang-Hack) + Source
von musicinstructor
Link
[Only registered and activated users can see links. Click Here To Register...]


PHP Code:
#include "windows.h"
#include <Python.h>
#include "detours.h"

DWORD Offset1 0//mainstream
DWORD Offset2 0//AddPacketData Function
DWORD Offset3 0//AddSignatureByte Function
DWORD Offset4 0//Update Function (MainFunc)
DWORD Offset5 0//RegisterVid Function
void (__stdcallMainFunc)();
void (__stdcallRegisterVid)();
bool Key1IsPressed false;
bool pullmobs true;
DWORD *vids = new DWORD[1000];
DWORD *nVID = new DWORD[1000];
int nVIDcount 0;
int VIDcount 0;
DWORD nhVID 0;


bool ScanForOffsets();
DWORD dwFindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char szMask);
bool bDataCompare(const BYTEpData, const BYTEbMask, const charszMask);
voidGetCallDest(voidaddr);
void CatchKeystrokes();
void Hook_MainFunc();
void Hook_RegisterVid();
void SendPullPackets();
int GetInstanceType(long vid);
double GetCharacterDistance(long vid);
void AppendChat(const char *msg);
bool appIsPressed(long Key);
void RefreshVids();
void AddVID();

BOOL APIENTRY DllMain(HANDLE hModuleDWORD ul_reason_for_callLPVOID lpReserved)
{
    switch (
ul_reason_for_call)
    {
        case 
DLL_PROCESS_ATTACH:
            
ScanForOffsets();
            
MainFunc = (void (__stdcall*)())DetourFunction((PBYTE)Offset4, (PBYTE)Hook_MainFunc); //0x00471F50
            
RegisterVid = (void (__stdcall*)())DetourFunction((PBYTE)Offset5, (PBYTE)Hook_RegisterVid); //0x004A0154
            
break;
        case 
DLL_THREAD_ATTACH:
            break;
        case 
DLL_THREAD_DETACH:
            break;
        case 
DLL_PROCESS_DETACH:
            break;
    }
    return 
TRUE;
}

bool ScanForOffsets()
{
    
DWORD Base 0x00400000;
    
DWORD SizeOfCode;

    
DWORD i Base;
    while ((
memcmp((void *)i"PE\0\0"4)) && (<= Base 0x1000))
        
i++;

    if (
<= Base 0x1000)
        
SizeOfCode = *(DWORD *)(0x1C);


    
BYTE Signature1[] = { 0x8B0x0D0xF40x1C0x5F0x000x520x500xE80x67,
                          
0x600x000x000xE80x120x7B0x120x000x5E};


    
BYTE Signature2[] = { 0x8B0xC10x8B0x500x380x8B0x480x340x530x8B,
                          
0x5C0x240x080x2B0xCA0x3B0xD9};

    
BYTE Signature3[] = { 0xC20x040x000x8B0xCE0xE80xB20xCE0x0D0x00,
                          
0x5E};

    
BYTE Signature4[] = { 0x830xEC0x080x560x8B0xF10x8D0x440x240x04,
                          
0x500x8D0x4C0x240x0C0x51};

    
BYTE Signature5[] = { 0x8B0x440x240x040x890x810x9C0x040x000x00,
                          
0xC20x040x00};


    
Offset1 = *(DWORD *)(dwFindPattern(Base 0x1000SizeOfCodeSignature1"xx????xxx????x????x") + 2);
    
Offset2 dwFindPattern(Base 0x1000SizeOfCodeSignature2"xxxxxxxxxxxxxxxxx");
    
DWORD Offset3_Address = (dwFindPattern(Base 0x1000SizeOfCodeSignature3"xxxxxx????x") + 6);
    
Offset3 reinterpret_cast<DWORD>(GetCallDest((DWORD *)(Offset3_Address 1)));
    
Offset4 dwFindPattern(Base 0x1000SizeOfCodeSignature4"xxxxxxxxxxxxxxxx");
    
Offset5 dwFindPattern(Base 0x1000SizeOfCodeSignature5"xxxxxxxxxxxxx") + 4;


    if ((
Offset1))
        return 
true;
    else
        return 
false;
}

voidGetCallDest(voidaddr)
{
    
unsigned charcallDestAddr reinterpret_cast<unsigned char*>(addr) + 1;

    
uintptr_t relativeDest = *reinterpret_cast<uintptr_t *>(callDestAddr);
    return 
reinterpret_cast<void*>(uintptr_t(addr) + relativeDest 5);
}

bool bDataCompare(const BYTEpData, const BYTEbMask, const charszMask)
{
    for(;*
szMask;++szMask,++pData,++bMask)
        if(*
szMask=='x' && *pData!=*bMask 
            return 
false;
    return (*
szMask) == NULL;
}

DWORD dwFindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char szMask)
{
    for(
DWORD i=0dwLeni++)
        if( 
bDataCompare( (BYTE*)( dwAddress+),bMask,szMask) )
            return (
DWORD)(dwAddress+i);   
    return 
0;


der sagt auch nicht woher man die bekommen soll....
ok ich google mal SDKs und downloade das mir