extract Resouce to file

BOOL save_payload()
{
	char *filepath=".\\filename.ext";
	DWORD dwResSize,dwByteWrite;
	HRSRC hResource=0;
	HGLOBAL hResData=0;
	LPVOID lpdata=NULL;
	HANDLE hFile=NULL;

	hResource=FindResource(NULL,MAKEINTRESOURCE(IDR_RESOURCE_NAME),"exe");
	dwResSize=SizeofResource(NULL,hResource);
	hResData=LoadResource(NULL,hResource);
	if(hResData ==NULL || dwResSize ==0)
		return false;
	lpdata=LockResource(hResData);
	hFile=CreateFile(filepath,GENERIC_WRITE,3,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_HIDDEN,NULL);
	if(hFile==INVALID_HANDLE_VALUE)
		return false;
	SetFilePointer(hFile,0,0,FILE_BEGIN);
	WriteFile(hFile,(LPBYTE)lpdata,dwResSize,&dwByteWrite,NULL);
	CloseHandle(hFile);
	MAKEINTRESOURCE(IDR_RESOURCE_NAME);
	return true;
}

kjwon15

I'm a hacker, I want to improve life.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.