Tengo una problemilla con un trozo de codigo que intento implementar en una aplicacion que estoy haciendo.
La aplicacion esta en c#, el codigo que intento hacer andar es el siguiente:
Código: Seleccionar todo
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr GetModuleHandle(string lpModuleName);
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool VirtualProtect(IntPtr lpAddress, uint dwSize, uint flNewProtect, out uint lpflOldProtect);
[DllImport("Kernel32.dll", EntryPoint = "RtlZeroMemory", SetLastError = false)]
static extern void ZeroMemory(IntPtr dest, IntPtr size);
static public void ErasePE()
{
UInt32 size = 0;
IntPtr BaseAddr = GetModuleHandle(null);
VirtualProtect(BaseAddr, 4096, 0x04, out size);
ZeroMemory(BaseAddr, (IntPtr)4096);
}
El codigo en cuestion, esta echo para saltar los programas que dumpean los ejecutables y facilitan el ser crackeados (para sacar themida por ejemplo).
Cuando inicio la aplicacion crashea, da un error y tengo que cerrarla.
Alguien sabe como implementar dicho codigo ?¿
Muchas gracias de antemano