André Hentschel nerv@dawncrow.de writes:
@@ -2992,7 +2993,25 @@ fail: delayinfo.TargetModuleBase = *phmod; delayinfo.Unused = NULL; delayinfo.LastError = nts;
- return dllhook(4, &delayinfo);
- if (!dllhook && syshook)
- {
if (IMAGE_SNAP_BY_ORDINAL(pINT[id].u1.Ordinal))
{
DWORD_PTR ord = LOWORD(pINT[id].u1.Ordinal);
dllhook = syshook(name, (char*)ord);
}
else
{
const IMAGE_IMPORT_BY_NAME* iibn = get_rva(base, pINT[id].u1.AddressOfData);
dllhook = syshook(name, (char*)iibn->Name);
}
- }
- if (dllhook)
return dllhook(4, &delayinfo);
- else
return NULL;
Is the syshook really supposed to return another hook? This would need test cases.