PDA

Просмотр полной версии : npkcrypt.dll -- подмена


clyr
21.12.2008, 01:30
Всех приветствую!

На моем сервере стоит защита (дополнительное шифрование). Сборка сервера -- Rebellion с модификациями.

При смене алгоритмов шифрования в клиенте меняется файл npkcrypt.dll

Я решил: напишу-ка я dll-ку и назову ее npkcrypt.dll, которая будет "прозрачно" вызывать процедуры из npkcrypt.dll. А там буду курить дампы и глядишь что-нибудь образуется.

И написал ведь!

Процесс l2.exe загрузился успешно и подцепил "обманку" (без обманки кричал, подсунул -- перестал кричать).

Когда дело дошло до выбора сервера -- то ничего не произошло. Совсем ничего.

Но самое неприятное -- то, что при вызове любой функции программа пишет лог-файл. Так вот, оный лог даже не создался.

В чем может быть дело? Где я ошибся?


#include <windows.h>
#include "dll.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define MAXMODULE 50

#define LOADLIB(s) {if(hLib == NULL) hLib=LoadLibrary(s);}

typedef void (WINAPI * cfunc)(void*);

HINSTANCE hLib = NULL;

FILE * out = NULL;void _NPKGetWindowDeCryptStrX28(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","_NPKGetWindowDeCryptStrX28");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "_NPKGetWindowDeCryptStrX28");
if(!f)
{
fprintf(out,"Can't find function _NPKGetWindowDeCryptStrX28 in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void _NPKRegisterCryptInterfaceFuncX16(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","_NPKRegisterCryptInterfaceFuncX16");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "_NPKRegisterCryptInterfaceFuncX16");
if(!f)
{
fprintf(out,"Can't find function _NPKRegisterCryptInterfaceFuncX16 in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKAAAAAABV(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKAAAAAABV");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKAAAAAABV");
if(!f)
{
fprintf(out,"Can't find function NPKAAAAAABV in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKCloseDriver(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKCloseDriver");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKCloseDriver");
if(!f)
{
fprintf(out,"Can't find function NPKCloseDriver in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKEnumHookedProcess(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKEnumHookedProcess");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKEnumHookedProcess");
if(!f)
{
fprintf(out,"Can't find function NPKEnumHookedProcess in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetAppCompatFlag(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetAppCompatFlag");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetAppCompatFlag");
if(!f)
{
fprintf(out,"Can't find function NPKGetAppCompatFlag in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetCryptKey(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetCryptKey");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetCryptKey");
if(!f)
{
fprintf(out,"Can't find function NPKGetCryptKey in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetEngineVersion(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetEngineVersion");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetEngineVersion");
if(!f)
{
fprintf(out,"Can't find function NPKGetEngineVersion in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetHookPause(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetHookPause");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetHookPause");
if(!f)
{
fprintf(out,"Can't find function NPKGetHookPause in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetLoadStartup(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetLoadStartup");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetLoadStartup");
if(!f)
{
fprintf(out,"Can't find function NPKGetLoadStartup in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetSecOpt(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetSecOpt");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetSecOpt");
if(!f)
{
fprintf(out,"Can't find function NPKGetSecOpt in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetWindowEditText(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetWindowEditText");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetWindowEditText");
if(!f)
{
fprintf(out,"Can't find function NPKGetWindowEditText in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetWindowEnCryptStr(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetWindowEnCryptStr");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetWindowEnCryptStr");
if(!f)
{
fprintf(out,"Can't find function NPKGetWindowEnCryptStr in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKGetWindowText(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKGetWindowText");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKGetWindowText");
if(!f)
{
fprintf(out,"Can't find function NPKGetWindowText in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKISKStatus(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKISKStatus");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKISKStatus");
if(!f)
{
fprintf(out,"Can't find function NPKISKStatus in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKLoadAtStartup(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKLoadAtStartup");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKLoadAtStartup");
if(!f)
{
fprintf(out,"Can't find function NPKLoadAtStartup in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKOpenDriver(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKOpenDriver");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKOpenDriver");
if(!f)
{
fprintf(out,"Can't find function NPKOpenDriver in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKOpenDriverEx(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKOpenDriverEx");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKOpenDriverEx");
if(!f)
{
fprintf(out,"Can't find function NPKOpenDriverEx in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegCryptFunc(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegCryptFunc");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegCryptFunc");
if(!f)
{
fprintf(out,"Can't find function NPKRegCryptFunc in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegCryptIFunc(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegCryptIFunc");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegCryptIFunc");
if(!f)
{
fprintf(out,"Can't find function NPKRegCryptIFunc in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegCryptMsg(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegCryptMsg");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegCryptMsg");
if(!f)
{
fprintf(out,"Can't find function NPKRegCryptMsg in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegCryptWindowParent(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegCryptWindowParent");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegCryptWindowParent");
if(!f)
{
fprintf(out,"Can't find function NPKRegCryptWindowParent in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegCryptWindowParentHTS(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegCryptWindowParentHTS");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegCryptWindowParentHTS");
if(!f)
{
fprintf(out,"Can't find function NPKRegCryptWindowParentHTS in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegisterCryptProgram(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegisterCryptProgram");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegisterCryptProgram");
if(!f)
{
fprintf(out,"Can't find function NPKRegisterCryptProgram in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegisterCryptProgramEx(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegisterCryptProgramEx");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegisterCryptProgramEx");
if(!f)
{
fprintf(out,"Can't find function NPKRegisterCryptProgramEx in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegisterCryptWindow(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegisterCryptWindow");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegisterCryptWindow");
if(!f)
{
fprintf(out,"Can't find function NPKRegisterCryptWindow in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegisterCryptWindowFunc(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegisterCryptWindowFunc");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegisterCryptWindowFunc");
if(!f)
{
fprintf(out,"Can't find function NPKRegisterCryptWindowFunc in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegisterCryptWindowMsg(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegisterCryptWindowMsg");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegisterCryptWindowMsg");
if(!f)
{
fprintf(out,"Can't find function NPKRegisterCryptWindowMsg in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegisterNotifyWindow(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegisterNotifyWindow");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegisterNotifyWindow");
if(!f)
{
fprintf(out,"Can't find function NPKRegisterNotifyWindow in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKRegNotifyWindow(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKRegNotifyWindow");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKRegNotifyWindow");
if(!f)
{
fprintf(out,"Can't find function NPKRegNotifyWindow in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetAppCompatFlag(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetAppCompatFlag");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetAppCompatFlag");
if(!f)
{
fprintf(out,"Can't find function NPKSetAppCompatFlag in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetCryptProgramUseAlert(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetCryptProgramUseAlert");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetCryptProgramUseAlert");
if(!f)
{
fprintf(out,"Can't find function NPKSetCryptProgramUseAlert in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetDrvPath(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetDrvPath");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetDrvPath");
if(!f)
{
fprintf(out,"Can't find function NPKSetDrvPath in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetHook(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetHook");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetHook");
if(!f)
{
fprintf(out,"Can't find function NPKSetHook in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetHookPause(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetHookPause");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetHookPause");
if(!f)
{
fprintf(out,"Can't find function NPKSetHookPause in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetHookPlc(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetHookPlc");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetHookPlc");
if(!f)
{
fprintf(out,"Can't find function NPKSetHookPlc in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetInfoWindow(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetInfoWindow");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetInfoWindow");
if(!f)
{
fprintf(out,"Can't find function NPKSetInfoWindow in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetKbdExtensionKeyLock(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetKbdExtensionKeyLock");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetKbdExtensionKeyLock");
if(!f)
{
fprintf(out,"Can't find function NPKSetKbdExtensionKeyLock in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetKbdLock(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetKbdLock");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetKbdLock");
if(!f)
{
fprintf(out,"Can't find function NPKSetKbdLock in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetKeyMode(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetKeyMode");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetKeyMode");
if(!f)
{
fprintf(out,"Can't find function NPKSetKeyMode in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetSecOpt(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetSecOpt");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetSecOpt");
if(!f)
{
fprintf(out,"Can't find function NPKSetSecOpt in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetTargetWindow(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetTargetWindow");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetTargetWindow");
if(!f)
{
fprintf(out,"Can't find function NPKSetTargetWindow in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetUseKeyMode(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetUseKeyMode");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetUseKeyMode");
if(!f)
{
fprintf(out,"Can't find function NPKSetUseKeyMode in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKSetUseMsgType(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKSetUseMsgType");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKSetUseMsgType");
if(!f)
{
fprintf(out,"Can't find function NPKSetUseMsgType in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKUnregCrypt(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKUnregCrypt");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKUnregCrypt");
if(!f)
{
fprintf(out,"Can't find function NPKUnregCrypt in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKUnregisterCryptProgram(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKUnregisterCryptProgram");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKUnregisterCryptProgram");
if(!f)
{
fprintf(out,"Can't find function NPKUnregisterCryptProgram in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKUnregisterCryptProgramAll(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKUnregisterCryptProgramAll");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKUnregisterCryptProgramAll");
if(!f)
{
fprintf(out,"Can't find function NPKUnregisterCryptProgramAll in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKUnregisterCryptWindow(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKUnregisterCryptWindow");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKUnregisterCryptWindow");
if(!f)
{
fprintf(out,"Can't find function NPKUnregisterCryptWindow in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

void NPKUnregisterCryptWindowAll(void * param)
{
if(!out) out = fopen("log.txt","w");
fprintf(out,"DLL Call: %s\n","NPKUnregisterCryptWindowAll");
LOADLIB("PARENT.dll");
if(hLib)
{
cfunc f;
f=(cfunc)GetProcAddress((HMODULE)hLib, "NPKUnregisterCryptWindowAll");
if(!f)
{
fprintf(out,"Can't find function NPKUnregisterCryptWindowAll in dll.\n");
//flushall();
return ;
}
else
{
f(param);
//flushall();
return ;
}
}
else
{
fprintf(out,"Can't find 'parent' dll. \n");
//flushall();
return ;
}
//flushall();
return ;
}

ratvier
21.12.2008, 10:57
Почему мне кажется, что часть функций (или даже все) принимает входных параметров больше чем 4 байта?

clyr
21.12.2008, 13:46
ratvier, так я в качестве параметра передаю нетипизированный указатель. Вроде бы -- должен "сжевать" любой набор параметров.

Хуже другое. Ни одна из этих функций не вызывается ВООБЩЕ. Я был бы рад логу с сообщением "процедура отработала, клиент вырубился" -- но нет даже этого

xkor
21.12.2008, 14:47
ratvier, так я в качестве параметра передаю нетипизированный указатель. Вроде бы -- должен "сжевать" любой набор параметров.нихрена не должен...

ratvier
21.12.2008, 23:14
clyr, воткни мессаджбоксы, при такой работе с файлами не факт, что что-то сохранится

Argot
06.01.2009, 13:57
А какой сервер если не секрет ?