windows null page allocation

개발새발 2011/05/17 22:30 posted by jz-


#include 

typedef DWORD (__stdcall *NTALLOCATEVIRTUALMEMORY)( DWORD handle,
											IN OUT PVOID baseaddr,
											DWORD zerobits,
											IN OUT PULONG size,
											DWORD type,
											DWORD protect ); 

void main()
{
	NTALLOCATEVIRTUALMEMORY NtAllocateVirtualMemory;
	
	NtAllocateVirtualMemory = (NTALLOCATEVIRTUALMEMORY)GetProcAddress( 
		GetModuleHandle( "ntdll.dll" ),
		"NtAllocateVirtualMemory" );
	
	DWORD addr = 1;
	DWORD size = 0x1000;
	DWORD stat = 0;
	
	stat = NtAllocateVirtualMemory( (DWORD)0xffffffff, 
		&addr, 
		0, 
		&size, 
		MEM_COMMIT | MEM_RESERVE, 
		PAGE_EXECUTE_READWRITE );
	
	DWORD *ptr = NULL;

	// ptr is null page memory

	*ptr = 10;
	*((BYTE*)NULL) = 'a';

}









여행가고 싶네요





저작자 표시 비영리 변경 금지

Trackbas address :: http://jz.pe.kr/trackback/63 관련글 쓰기

  1. Commented by chpie at 2011/05/21 18:07

    오 신기하네요 ㅎㅎㅎ

  2. Commented by vbdream at 2011/05/26 01:21

    와... 신기하네요~~ ㅋㅋ

    오래간만이십니다~ 잘 지내시죠? ^^;;

    • Commented by jz- at 2011/05/26 09:35

      오! 소식이 없어서 궁금했습니다

      대학생활 즐거우신가요? :)

    • Commented by vbdream at 2011/07/07 07:53

      네, 잘 지내고 있습니다...^^
      조만간 MSN 메신저에서도 뵈어요 ㅋㅋ

  3. Commented by kkamagui at 2011/08/14 12:59

    엇.... 잠시 마지막 줄의 코드를 보고 고민하다가 갑자기 깜짝 놀랐습니다. @0@

    이런 방법이 있다니... 완전 신기하군요. @0@)-b

    좋은 글 잘 보고 갑니다. ^^

  4. Commented by fullc0de at 2011/09/19 22:26

    내눈에 띄는건..
    </windows.h>

    close tag가..

    • Commented by jz at 2011/09/20 23:48

      ㅋㅋ 저 플러그인이 달아주는듯...
      요샌 많이 바쁘냐
      내사촌도 그회사 갔다 ㅋㅋ