Цитата:
Сообщение от Konctantin
Ну это все, как говорится "у каждого свои методы", я ограничился таким кодом:
Код:
private byte[] GetLocales()
{
using (var mr = new ProcessMemoryReader("wow"))
{
return mr.Read(0x00C5DE88, 4);
}
}
|
У меня почти так же
Код:
using System;
using System.Diagnostics;
using System.Globalization;
using System.IO;
namespace Wlp
{
public class SessionInfoReader
{
private const string ProcessName = "Wow";
public static int ClientBuild
{
get
{
var p = ProcessMemoryReader.GetProcessByName(ProcessName);
if (File.Exists(p.MainModule.FileName))
{
var fi = FileVersionInfo.GetVersionInfo(p.MainModule.FileName);
return fi.FilePrivatePart;
}
else
{
Logger.Instance.ErrorFormat("{0} not found or missing required permissions!", ProcessName);
return -1;
}
}
}
public static byte[] GetSessionKey(uint offset)
{
using (var pmr = new ProcessMemoryReader(ProcessName))
{
return pmr.Read(pmr.ReadUInt(offset) + 0x508, 40);
}
}
public static byte[] GetWardenSeedKey(uint offset)
{
using (var pmr = new ProcessMemoryReader(ProcessName))
{
return pmr.Read(pmr.ReadUInt(offset) + 0x04, 16);
}
}
public static byte[] GetWardenRC4State(uint offset)
{
using (var pmr = new ProcessMemoryReader(ProcessName))
{
return pmr.Read(pmr.ReadUInt(offset) + 0x20, 0x204);
}
}
public static byte[] GetLocaleBytes(uint offset)
{
using (var pmr = new ProcessMemoryReader(ProcessName))
{
return pmr.Read(offset, 4);
}
}
}
}