Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
ВнизКак пропатчить процесс в памяти ? Найти похожие ветки
← →
DrDrew (2003-07-05 17:41) [0]Требуется написать лоадер кот. бы запускал прогу и патчил ее код в памяти. Если кто нить делал что либо подобное - поделитесь плиз примерчиком.
Заранее спасибо.
← →
Dimaxx (2003-07-05 23:42) [1]Вот тебе пример реально работающего загрузчика. Функции readprocessmemory и writeprocessmemory - это то, что тебе нужно.
program Loader;
uses Windows;
const buf:array[0..1] of byte=($eb,$13);
const appname="empty.exe";
Var
i:cardinal;
sti:tstartupinfo;
lpPi:tprocessinformation;
begin
if not CreateProcess(nil,AppName,nil,nil,false,CREATE_SUSPENDED
,nil,nil,StI,lpPI) then
begin
messageboxa(0,"А де radmin.exe?","RA Loader",0);
halt;
end
else
//Ждем пока распакуется
{while true do
if readprocessmemory(lppi.hProcess,pointer($ac0506),@buf[0],1,i)
then
if buf[0]<>$0 then
begin
//остановили процесс
suspendthread(lppi.hThread);
//записали чё хотели
//writeprocessmemory(lppi.hProcess,pointer($004054DF),@buf[1],1,i);
writeprocessmemory(lppi.hProcess,pointer($004054DF),@buf,2,i);
//поехали дальше!
resumethread(lppi.hThread);
closehandle(lppi.hprocess);
halt;
//end;
end.
← →
DrDrew (2003-07-06 19:29) [2]Big tnx!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c