Click here to Skip to main content
15,922,630 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: callback Pin
king_of_the_world22-Dec-02 9:46
king_of_the_world22-Dec-02 9:46 
GeneralRe: callback Pin
Paul M Watt22-Dec-02 12:20
mentorPaul M Watt22-Dec-02 12:20 
GeneralRe: callback Pin
king_of_the_world25-Dec-02 20:11
king_of_the_world25-Dec-02 20:11 
QuestionHow to build tool in MS Office? Pin
JATE21-Dec-02 18:37
JATE21-Dec-02 18:37 
AnswerRe: How to build tool in MS Office? Pin
Al_Pennyworth23-Dec-02 2:45
Al_Pennyworth23-Dec-02 2:45 
GeneralCComboBox derrived class messages Pin
Joel Holdsworth21-Dec-02 11:46
Joel Holdsworth21-Dec-02 11:46 
GeneralRe: CComboBox derrived class messages Pin
Michael Dunn21-Dec-02 13:46
sitebuilderMichael Dunn21-Dec-02 13:46 
GeneralDLL_PROCESS_ATTACH und geladene Module Pin
21-Dec-02 6:36
suss21-Dec-02 6:36 
Heyo, (english version ... when u can call it Wink | ;) is attached as reply)
Ich versuche im Moment in einer EXE-Datei einen Import zu verändern, dass klappt ganz gut und wunderbar, wenn diese Funktion aus der EXE-Datei heraus aufgerufen wird.

Sobald ich dies aber bei einer anderen EXE-Datei machen möchte, bei der ich in den Prozess eingeschleust werde - über ein WH_CBT - funktioniert dies jedoch nicht, da die DLLs zu diesem Zeitpunkt noch nicht initialisiert wurden.

Da bereits in der win_main der veränderte Import benutzt werden soll kann ich auf keine anderen Hooks zurückgreifen.

Weis jemand wie ich An die Initialisierte Importtable komme, bevor diese benutzt wird ?

Vielen Dank schonmal


Also, ich setze einen CBT Hook:
(innerhalb der DLL die in den Zielprocess reinmuss)


<br />
LRESULT CALLBACK CBTProc(int nCode,WPARAM wParam,LPARAM lParam) {<br />
    return CallNextHookEx(CBThook,nCode,wParam,lParam) ;<br />
} ;<br />
<br />
void WINAPI InstallNCT(void) {<br />
    GWMhook = SetWindowsHookEx(WH_CBT,&CBTProc,GetModuleHandle("MYDLL.dll"),NULL );<br />
} ;<br />


Dieser Code wird mit der ProzessID des Launchers ausgeführt. Sobald ein neuer Prozess erstellt/aktiviert ist wird der folgende Code durchgeführt:

 <br />
BOOL APIENTRY DllMain( HANDLE hModule, <br />
                       DWORD  ul_reason_for_call, <br />
                       LPVOID lpReserved<br />
                     )<br />
{<br />
    switch (ul_reason_for_call)<br />
    {<br />
        case DLL_PROCESS_ATTACH:<br />
            if (isZielProzess()) {<br />
                HMODULE thismod = GetModuleHandle("MYDLL.dll") ;<br />
                LPVOID addr = GetProcAddress(thismod,"MyOverrideFunction") ;<br />
                ChangeImport_("D3DDrv.dll","DDRAW.dll","FunctionName",addr) ;<br />
            } ;<br />
            return TRUE ;<br />
        case DLL_THREAD_ATTACH:<br />
        case DLL_THREAD_DETACH:<br />
        case DLL_PROCESS_DETACH:<br />
            break;<br />
    }<br />
    return TRUE;<br />
} ;<br />

Wobei ChangeImport_(ModulName,ImportModulName,ImportFunctionName,Addresse) ;
in der MudulName.dll den Import aus der ImportModulName.Dll mit dem Namen ImportFunctionName mit der Addresse überschreibt.

Nun funzt das nicht, da die D3DDrv nich initialisiert ist... aber ich brauchs funzent
GeneralRe: DLL_PROCESS_ATTACH und geladene Module Pin
Anonymous21-Dec-02 6:40
Anonymous21-Dec-02 6:40 
GeneralReg path from an HKEY Pin
Nish Nishant21-Dec-02 6:33
sitebuilderNish Nishant21-Dec-02 6:33 
GeneralRe: Reg path from an HKEY Pin
Jason Henderson21-Dec-02 8:33
Jason Henderson21-Dec-02 8:33 
GeneralRe: Reg path from an HKEY Pin
Nish Nishant21-Dec-02 10:35
sitebuilderNish Nishant21-Dec-02 10:35 
GeneralRe: Reg path from an HKEY Pin
Scott H. Settlemier23-Dec-02 12:47
Scott H. Settlemier23-Dec-02 12:47 
GeneralQuestion about MSDN example Pin
Mazdak21-Dec-02 5:11
Mazdak21-Dec-02 5:11 
GeneralRe: Question about MSDN example Pin
Michael Dunn21-Dec-02 5:20
sitebuilderMichael Dunn21-Dec-02 5:20 
GeneralRe: Question about MSDN example Pin
Mazdak21-Dec-02 6:51
Mazdak21-Dec-02 6:51 
GeneralRe: Question about MSDN example Pin
Michael Dunn21-Dec-02 7:05
sitebuilderMichael Dunn21-Dec-02 7:05 
GeneralRe: Question about MSDN example Pin
carrie21-Dec-02 5:19
carrie21-Dec-02 5:19 
GeneralRe: Question about MSDN example Pin
Christian Graus21-Dec-02 10:12
protectorChristian Graus21-Dec-02 10:12 
Questionhow is that possible ? no one can help me ? Pin
Alex H 198321-Dec-02 3:40
Alex H 198321-Dec-02 3:40 
AnswerRe: how is that possible ? no one can help me ? Pin
Davide Pizzolato21-Dec-02 5:20
Davide Pizzolato21-Dec-02 5:20 
Generalcout & printf Pin
Sam Huang21-Dec-02 2:58
Sam Huang21-Dec-02 2:58 
GeneralRe: cout & printf Pin
Tim Smith21-Dec-02 3:29
Tim Smith21-Dec-02 3:29 
GeneralRe: cout & printf Pin
carrie21-Dec-02 3:35
carrie21-Dec-02 3:35 
GeneralRe: cout & printf Pin
Tim Smith21-Dec-02 3:58
Tim Smith21-Dec-02 3:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.