Tuesday, December 27, 2005

THE AWAKENING

for those who understand, the following snippet, will make a grin on their face...

for those who don't... doesn't really matter ;)

the following source is just for educational purposes!


typedef BOOL (_stdcall *_Export3)(int nr_of_device,char * buffer,char * buffer2);
_Export3 MyExport3;
typedef BOOL (_stdcall *_Export7)(char * buffer);
_Export7 MyExport7;
typedef BOOL (_stdcall *_Export1)();
_Export1 MyExport1;

HANDLE aHandle;
static char DEVCNT[255];
static char DEVCNT2[255];
static char DEVCNT3[255];
static char msgbox[255];

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
aHandle = LoadLibrary ("daemon.dll");
MyExport1 = (_Export1)(GetProcAddress ((HINSTANCE)aHandle,(const char *)1));
MyExport1 ();
MyExport3 = (_Export3)(GetProcAddress ((HINSTANCE)aHandle,(const char *)3));
MyExport7 = (_Export7)(GetProcAddress ((HINSTANCE)aHandle,(const char *)7));
if (MyExport7 != 0)
{
if (MyExport7 (DEVCNT) != 0)
{
MessageBox (0,"failed to retrieve count of present virtual devices","error",0);
return -1;
}
sprintf (msgbox,"found %d virtual devices",DEVCNT[0]);
MessageBox (0,msgbox,"",0);
for (int i=0;i i< DEVCNT[0];i++)
{
if (MyExport3 (i,DEVCNT2,DEVCNT3) != 0)
{
MessageBox (0,"failed to retrieve drive letter!","error",0);
return -1;
}
DEVCNT2[1]+=0x40;
sprintf (msgbox,"drive %d -> assigned with drive letter : %s",i,&DEVCNT2[1]);
MessageBox (0,msgbox,"",0); }MessageBox (0,msgbox,"",0);
}
}
else
{
MessageBox (0,"failed to either retrieve export3 or daemon.dll","error",0);
}

return 0;
}


Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?