Error while using __asm

I'm trying to use this function:
1
2
3
4
5
6
7
8
9
10
void ChangeSizeOfImage(DWORD NewSize)
{
	__asm
	{
		mov eax, fs:[0x30] // PEB
			mov eax, [eax + 0x0c] // PEB_LDR_DATA
			mov eax, [eax + 0x0c] // InOrderModuleList
			mov dword ptr[eax + 0x20], NewSize // SizeOfImage
	}
}

to protect a .dll from getting dumped, but I'm getting this error:
error C2415: improper operand type

and it leads me to this:
mov dword ptr[eax + 0x20], NewSize // SizeOfImage

What is wrong?
Last edited on
Topic archived. No new replies allowed.