private static void GenPPO(X86Generator gen, IntPtr baseaddr, int codeoff, int stroff) { gen.Clear(); gen.SetInstall(baseaddr + codeoff); gen.PushReg(X86Generator.Registers.ESI); gen.PushR(baseaddr + stroff); }
private void InstallJmp(X86Generator ingen, int hookoff) { _jmp.Clear(); _jmp.SetInstall(ingen.GetInstall()); _jmp.JumpR(_hook + hookoff); _jmp.WriteInstall(_mc2); }
private static void GenSPM(X86Generator gen, IntPtr baseaddr, int codeoff) { gen.Clear(); gen.SetInstall(baseaddr + codeoff); gen.SubRI(X86Generator.Registers.ESP, 0x28); gen.PushReg(X86Generator.Registers.ESI); gen.MovRR(X86Generator.Registers.ESI, X86Generator.Registers.ECX); }