problem mit dem injection hack

12/09/2008 21:25 Tyrar#1
hey, habe grad ein kleines problem im code!
Code:
#include "dll.h"
#include "windows.h"
#ifdef _MANAGED
#pragma managed(push, off)
#endif
HMODULE lib = 0;
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                       )
{ 
   switch ( ul_reason_for_call ) {
    case DLL_PROCESS_ATTACH:
      lib = LoadLibraryA("python22_original.dll");
      break;
    case DLL_PROCESS_DETACH:
      FreeLibrary(lib);
      break;
  }
  return TRUE;
}
char const * __stdcall __declspec (dllexport) Py_SetProgramName(struct _EXCEPTION_POINTERS * pointers)
{
    static FARPROC Py_SetProgramNameOrig = 0;
    char* r;
    if (Py_SetProgramNameOrig == 0) 
    {
        Py_SetProgramNameOrig = GetProcAddress(lib, "Py_SetProgramName");
    }
    [COLOR="Red"]r = Py_SetProgramNameOrig(pointers);[/COLOR]
    return r;
}
#ifdef _MANAGED
#pragma managed(pop)
#endif
in der rot gefärbten zeile bekomme ich immer eine fehlermeldung "too many arguments to function" kann mir das jemand erklären? oO

und dazu
"invalid conversion from int to char"...
ok änder ich es in int!
aber dann "invalid conversion from int to int"...