Hi Elitepvper Coders,
ich hab mich letztens mal an das Programmieren einer DLL gemacht, die man in einen Prozess injizieren kann und wo dann irgendetwas passiert. So, nun habe ich erstmal bei Visual Studio 2010 unter dem Punkt "C++" ein "Empty Project" ausgewählt und habe anschließend bei den Projekteinstellungen von "Executable (.exe)" auf "Dynamic Link Library (.dll)" gestellt. Mehr habe ich an den Einstellungen nicht verändert. Anschließend habe ich in die von mir angelegte main.cpp folgenden Code geschrieben:
Andere Code-Dateien gibt es im Projekt nicht. Nun hab ich das kompiliert und versucht in ein paar Prozesse zu injizieren (alles 32Bit-Prozesse, z.B. Firefox und Skype). Nichts passierte! Nun will ich natürlich wissen, woran das liegt und wie man das behebt. Als injectoren habe ich (32Bit Injector) und auch (anscheinend 64Bit) benutzt. Was meine Idee wäre: Kann man vielleicht die DLL einmal für 32 und für 64 Bit kompilieren und es war ne 64 Bit DLL, die in 32Bit Prozessen nichts gemacht hat?
Habe selber Win7 Ulti 64Bit, wenn das relevant ist
Tut mir leid, dass ihr so viel gelesen habt
und wäre nett, wenn ihr helfen könntet
MfG Jeoni
P.S.: Und ja, ich habe die Injectors als Admin ausgeführt.
Du kannst beim erstellen des Projektes einfach unter Win32 "Win32 Console Application" auswählen und dann bei den optionen bei "Application Type" auf Dll stellen.
Zu deinem Code:
Code:
// test.cpp : Defines the exported functions for the DLL application.
//
#include "stdafx.h"
bool WINAPI DllMain(_In_ void * _HDllHandle, _In_ unsigned _Reason, _In_opt_ void * _Reserved)
{
if (_Reason == DLL_PROCESS_ATTACH)
{
MessageBox(0, L"Injection sucessfull!", L"Injection", 32);
}
}
In die Injectoren kann ich kein Debug priveleg setzen, da das nicht meine sind und ich keine Source dafür habe.
Oben geschriebener Code funzt leider immernoch nicht.
Edit: Das L in der Messagebox kannst weg lassen wenn du Multibyte Zeichensatz verwendest^^
Wenn du ihm helfen willst, bring ihm bitte keinen Müll bei!
Ein Thread hat den Typ DWORD WINAPI, nicht void!
Außerdem macht es keinen Unterschied, ob die Message Box im Main Thread oder in einem neuen gezeigt wird.
@Jeoni:
Du brauchst keinen eigenen Injector copypasten, wenn du ihn nicht verstehst.
Nimm Winject. Wenn es damit als Admin nicht geht, liegt es nicht am Injector!
Wenn du ihm helfen willst, bring ihm bitte keinen Müll bei!
Ein Thread hat den Typ DWORD WINAPI, nicht void!
Außerdem macht es keinen Unterschied, ob die Message Box im Main Thread oder in einem neuen gezeigt wird.
@Jeoni:
Du brauchst keinen eigenen Injector copypasten, wenn du ihn nicht verstehst.
Nimm Winject. Wenn es damit als Admin nicht geht, liegt es nicht am Injector!
Für einen kleinen nutzlosen test kann man void nehmen =)
Habs ihm aber schon per team viewer gemacht. problem war nur der injector, funkt aber jetzt ohne probleme =)
Hilfe Hilfe Pls Gucken Brauche Hilfe 04/04/2010 - Technical Support - 3 Replies Ja wegen der Signatur sieht es euch ma an in pics
/http://img641.imageshack.us/img641/6070/unbenann t790kjkh.png
http://img444.imageshack.us/img444/6981/unbenannt kjhghzuijhbh.png
kann mir pls einer HELFEN...