rendered paste bodyusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Spellhider
{
class Program
{
public void Main();
public void Init()
{
ProcessMemoryReaderLib.ProcessMemoryReader pReader = new ProcessMemoryReaderLib.ProcessMemoryReader();
ProcessMemoryReaderLib.ProcessMemoryReader pReader2 = new ProcessMemoryReaderLib.ProcessMemoryReader();
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName("Darkages");
if (myProcesses.Length == 0)
{
cleanup();
}
else
{
pReader.ReadProcess = myProcesses[0];
pReader2.ReadProcess = myProcesses[1];
pReader.OpenProcess();
pReader2.OpenProcess();
int bytesReaded;
byte[] memory;
byte[] memory1;
memory = pReader.ReadProcessMemory((IntPtr)InfoBasePtr, 4, out bytesReaded);
memory1 = pReader2.ReadProcessMemory((IntPtr)InfoBasePtr, 4, out bytesReaded);
int refTemp = (memory[0] + 256 * memory[1] + 256 * 256 * memory[2] + 256 * 256 * 256 * memory[3]);
int refTemp2 = (memory1[0] + 256 * memory1[1] + 256 * 256 * memory1[2] + 256 * 256 * 256 * memory1[3]);
XAddress = refTemp + XAddressOff;
YAddress = refTemp + YAddressOff;
fMapNumAddress = refTemp + MapNumAddressOff;
lXAddress = refTemp2 + XAddressOff;
lYAddress = refTemp2 + YAddressOff;
lMapNumAddress = refTemp2 + MapNumAddressOff;
if (XAddress > 0 && YAddress > 0)
{
memory = pReader.ReadProcessMemory((IntPtr)XAddress, 1, out bytesReaded);
x = (memory[0]);
memory = pReader.ReadProcessMemory((IntPtr)YAddress, 1, out bytesReaded);
y = (memory[0]);
memory = pReader.ReadProcessMemory((IntPtr)fMapNumAddress, 1, out bytesReaded);
lmapn = (memory[0]);
memory1 = pReader2.ReadProcessMemory((IntPtr)XAddress, 1, out bytesReaded);
lx = (memory1[0]);
memory1 = pReader2.ReadProcessMemory((IntPtr)YAddress, 1, out bytesReaded);
ly = (memory1[0]);
memory1 = pReader2.ReadProcessMemory((IntPtr)fMapNumAddress, 1, out bytesReaded);
fmapn = (memory1[0]);
if (checkBox1.Checked)
{
////////HIDE SPELL LINES
int BytesWritten;
IntPtr BaseAddress = new IntPtr(0x49C523);
byte[] NewVal = { 0x90, 0x90, 0x90 };
pReader.WriteProcessMemory(BaseAddress, NewVal, out BytesWritten);
}
else
{
//////RESTORE SPELL LINES
int BytesWritten;
IntPtr BaseAddress = new IntPtr(0x49C523);
byte[] NewVal = { 0x8B, 0x4D, 0x14 };
pReader.WriteProcessMemory(BaseAddress, NewVal, out BytesWritten);
}
if (checkBox4.Checked)
{
////////MAKE CREATURES ACT WIERD
int BytesWritten;
IntPtr BaseAddress = new IntPtr(0x5FC3AF);
IntPtr BaseAddress2 = new IntPtr(0x611E4D);
IntPtr BaseAddress3 = new IntPtr(0x5FC3A9);
byte[] NewVal = { 0x90, 0x90, 0x90 };
pReader.WriteProcessMemory(BaseAddress, NewVal, out BytesWritten);
pReader.WriteProcessMemory(BaseAddress2, NewVal, out BytesWritten);
pReader.WriteProcessMemory(BaseAddress2, NewVal, out BytesWritten);
}
else
{
////////////////RESTORE CREATURES
int BytesWritten;
IntPtr BaseAddress = new IntPtr(0x5FC3AF);
IntPtr BaseAddress2 = new IntPtr(0x611E4D);
IntPtr BaseAddress3 = new IntPtr(0x5FC3A9);
byte[] NewVal = { 0x89, 0x4A, 0x44 };
byte[] NewVal2 = { 0x89, 0x48, 0x40 };
byte[] NewVal3 = { 0x89, 0x42, 0x40 };
pReader.WriteProcessMemory(BaseAddress, NewVal, out BytesWritten);
pReader.WriteProcessMemory(BaseAddress2, NewVal2, out BytesWritten);
pReader.WriteProcessMemory(BaseAddress2, NewVal3, out BytesWritten);
}
}
}
}
}
}