我想自定义程序的入口函数
#pragma comment(linker, "/ENTRY:EntryPoint")主函数是这样的
int main ( int argc, char * argv[] )
{
HANDLE mem = NULL; if ( FALSE == LocateNtdllEntry() )
{
fprintf( stderr, "LocateNtdllEntry() failed\n" );
return( EXIT_FAILURE );
}
/*
* 为读写DACLs而打开句柄
*/
if ( ( mem = OpenPhysicalMemory( READ_CONTROL | WRITE_DAC ) ) == NULL )
{
return( EXIT_FAILURE );
}
else
{
if ( argc == 2 )
{
SetPhysicalMemoryDACLs( mem, argv[1] );
}
else
{
SetPhysicalMemoryDACLs( mem, "CURRENT_USER" );
}
ZwClose( mem );
mem = NULL;
}
/*
* 试图读写打开"\Device\PhysicalMemory"
*/
if ( ( mem = OpenPhysicalMemory( SECTION_MAP_READ | SECTION_MAP_WRITE ) ) == NULL )
{
return( EXIT_FAILURE );
}
if ( mem != NULL )
{
ZwClose( mem );
mem = NULL;
}
return( EXIT_SUCCESS );
} /* end of main */
/////////////////////////////////////////////////////////
可是这个EntryPoint函数应该如何写?谢谢....
#pragma comment(linker, "/ENTRY:EntryPoint")主函数是这样的
int main ( int argc, char * argv[] )
{
HANDLE mem = NULL; if ( FALSE == LocateNtdllEntry() )
{
fprintf( stderr, "LocateNtdllEntry() failed\n" );
return( EXIT_FAILURE );
}
/*
* 为读写DACLs而打开句柄
*/
if ( ( mem = OpenPhysicalMemory( READ_CONTROL | WRITE_DAC ) ) == NULL )
{
return( EXIT_FAILURE );
}
else
{
if ( argc == 2 )
{
SetPhysicalMemoryDACLs( mem, argv[1] );
}
else
{
SetPhysicalMemoryDACLs( mem, "CURRENT_USER" );
}
ZwClose( mem );
mem = NULL;
}
/*
* 试图读写打开"\Device\PhysicalMemory"
*/
if ( ( mem = OpenPhysicalMemory( SECTION_MAP_READ | SECTION_MAP_WRITE ) ) == NULL )
{
return( EXIT_FAILURE );
}
if ( mem != NULL )
{
ZwClose( mem );
mem = NULL;
}
return( EXIT_SUCCESS );
} /* end of main */
/////////////////////////////////////////////////////////
可是这个EntryPoint函数应该如何写?谢谢....
不是在main程序中直接调用EntryPoint的,
要通过windows的io管理程序来调用:CreatFile,ReadFile等