Start Funk aus injekteter DLL oder Python API in Xe6

06/10/2014 13:53 iOSsec#1
Hallo, da ich es nicht gebacken bekomme in Rad Studio xe6 die Python libs und header Datein hinzuzufügen, habe ich in Visual C++ eine DLL geschrieben in der die Funktionen stehen.
Nun will ich einfach diese DLL injekten, die Funktionen sollen aber nicht ausgeführt werden.
Also versuche ich die Funktionen in der injekteten DLL einfach mit einer anderen DLL auszuführen, die im selben Prozess injektet ist.
Der Code von der DLL mit den Funktionen sieht z.b. so aus:
PHP Code:
#include <windows.h>

void msgb() {
    
MessageBox(NULL"This is a test messagebox""Test"MB_OK);
}

int __stdcall DllMain(_In_ void _HDllHandle_In_ unsigned _Reason_In_opt_ void _Reversed)
{
    if (
DLL_PROCESS_ATTACH== _Reason)
    {
        
    }
    return 
1;

Jetzt will ich einfach in den Button einer anderen DLL schreiben, dass die Funktion aus der anderen DLL gestartet wird.
Mir ist eigentlich egal wie ich es machen kann oder wenn jemand weiß wie man in Rad Studio xe6 den Python libs Ordner und das Include Verzeichnis hinzufügt, kann es das gerne auch schreiben.
Ideen wie den ASM Code suchen und aufrufen habe ich auch schon gehabt, aber nie richtig ausführen können, da ich z.b. den ASM Code im Debugger nicht finden konnte wenn die DLL injectet war.

Danke :D
06/10/2014 13:57 Tyrar#2
Wenn ich deine Frage richtig verstehe dürfte [Only registered and activated users can see links. Click Here To Register...] die Lösung sein.
06/10/2014 19:07 onahoe#3
Ich versteh' zwar deine Frage nicht, aber:

PHP Code:
int __stdcall DllMain(_In_ void _HDllHandle_In_ unsigned _Reason_In_opt_ void _Reversed

    if (
DLL_PROCESS_ATTACH== _Reason
    { 
         
    } 
    return 
1

Dafuq?
06/11/2014 00:32 Omdi#4
Die benötigten Funktionen exportieren nicht vergessen ;)

GetProcAddress benutzen oder die erstellte Lib für die DLL nutzen.
06/11/2014 02:36 +Yazzn#5
@onomato DLL_PROCESS_ATTACH ist als 1 definiert. Außerdem wird bei deinem Code ein bool zurückgegeben und nicht ein BOOL (int).

Ansonsten zum Code vom OP: [Only registered and activated users can see links. Click Here To Register...]
06/11/2014 12:03 onahoe#6
Quote:
Originally Posted by Peter File View Post
@onomato DLL_PROCESS_ATTACH ist als 1 definiert. Außerdem wird bei deinem Code ein bool zurückgegeben und nicht ein BOOL (int).

Ansonsten zum Code vom OP: [Only registered and activated users can see links. Click Here To Register...]
Ja, schon klar. Aber das sah einfach scheiße aus ;O