Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.17;
Скачать: CL | DM;

Вниз

Как пропатчить процесс в памяти ?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
4-55887
DmitryDDR
2003-05-15 07:40
2003.07.17
CreateProcessWithLogonW


1-55623
Луарвик
2003-07-03 19:20
2003.07.17
CheckListBox


8-55660
skiph
2003-03-26 12:07
2003.07.17
Прозрачный фон рисунка


1-55560
SkyRanger
2003-07-04 08:35
2003.07.17
Бинарное дерево


3-55479
McSimm2
2003-06-25 16:41
2003.07.17
---|Ветка была без названия|---