Сообщений: 538
Тем: 76
Зарегистрирован: Aug 2012
Репутация:
7
Можете подсказать как создать dll которая меняет байты в адресе
приложение PointBlank.exe
Например адрес 0x787475
байты 32 51 AD F0
Их нужно занопить , не смог в инете найти не смог как с dll вообще сделать
Сообщений: 322
Тем: 6
Зарегистрирован: Nov 2015
Репутация:
505
Пример, запуска
[SRC="csharp"] Код: const int PROCESS_VM_WRITE = 0x0020;
const int PROCESS_VM_OPERATION = 0x0008;
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool WriteProcessMemory(int hProcess, int lpBaseAddress,
byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesWritten);[/SRC]
2.
[CODE]
[SRC="csharp"] Process process = new Process();
string Login = "Tester";
string Password = "1234";
string Patch = "D:/Games/PointBlank/";
int Addr = 0x787475; // Адрес функции
process.StartInfo = new ProcessStartInfo
{
FileName = Patch + "PointBlank.exe",
Arguments = Login + " " + Password,
};
process.StartInfo.WorkingDirectory = Patch;
process.Start();
IntPtr processHandle = OpenProcess(0x1F0FFF, false, process.Id);
int bytesWritten = 0;
WriteProcessMemory((int)processHandle, Addr, new byte[] { 0x90, 0x90, 0x90, 0x90 }, 4, ref bytesWritten); //Nop (90)[/SRC]
При запуске занопится.
Разработка Emu: PiercingBlow 90%, APB Reloaded 100%.
Самый действенный инструмент для самообучения - грабли.
Сообщений: 538
Тем: 76
Зарегистрирован: Aug 2012
Репутация:
7
Awiion Написал:
Пример, запуска
[SRC="csharp"] Код: const int PROCESS_VM_WRITE = 0x0020;
const int PROCESS_VM_OPERATION = 0x0008;
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool WriteProcessMemory(int hProcess, int lpBaseAddress,
byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesWritten);[/SRC]
2.
[CODE]
[SRC="csharp"] Process process = new Process();
string Login = "Tester";
string Password = "1234";
string Patch = "D:/Games/PointBlank/";
int Addr = 0x408B1D; // Адрес функции jnz
process.StartInfo = new ProcessStartInfo
{
FileName = Patch + "PointBlank.exe",
Arguments = Login + " " + Password,
};
process.StartInfo.WorkingDirectory = Patch;
process.Start();
IntPtr processHandle = OpenProcess(0x1F0FFF, false, process.Id);
int bytesWritten = 0;
WriteProcessMemory((int)processHandle, Addr, new byte[] { 0x90, 0x90 }, 2, ref bytesWritten); //Nop (90)[/SRC]
если так закинуть в dll то будет работать?
Сообщений: 322
Тем: 6
Зарегистрирован: Nov 2015
Репутация:
505
Зачем?
Каждый раз. Когда процесс будешь запускать, будет магия происходить.
П.С. а если длл будешь делать, тебе нужно заинжектить, потом только магия.
Разработка Emu: PiercingBlow 90%, APB Reloaded 100%.
Самый действенный инструмент для самообучения - грабли.
Сообщений: 538
Тем: 76
Зарегистрирован: Aug 2012
Репутация:
7
Awiion Написал:Зачем?
Каждый раз. когда процесс будешь запускать, будет магия происходить.
п.с. а если длл будешь делать, тебе нужно заинжектить, потом только магия.
вот мне как раз и нужно в dll
Что нужно изменить чтобы в dll это запихнуть?
Сообщений: 322
Тем: 6
Зарегистрирован: Nov 2015
Репутация:
505
Почти тоже самое, только экспорт класс делаешь.
потом его вызываешь в памяти.
Разработка Emu: PiercingBlow 90%, APB Reloaded 100%.
Самый действенный инструмент для самообучения - грабли.
Сообщений: 538
Тем: 76
Зарегистрирован: Aug 2012
Репутация:
7
Awiion Написал:Почти тоже самое, только экспорт класс делаешь.
потом его вызываешь в памяти.
а можешь пример?
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
.NET DLL инжектить в PointBlank? CoolStoryBob
У читеров подсмотри.
Сообщений: 538
Тем: 76
Зарегистрирован: Aug 2012
Репутация:
7
PROGRAMMATOR Написал:.NET DLL инжектить в PointBlank? CoolStoryBob
У читеров подсмотри.
нет , мне нужно просто занопить один адрес , через dll чтобы заинжектить и все ,
Сообщений: 538
Тем: 76
Зарегистрирован: Aug 2012
Репутация:
7
нашел куча способов как через exe это сделать, а вот в dll варианте нету
|