-
Вернулся вот код, но предупреждаю может получится как в 2. Данный код может использоваться только в целях обучения. Автор не гарантирует работоспобность этого кода на компьютере с системами не Windows XP и вообще на чем угодно. Особенно не гарантируется совместимость с звуковыми платами, принтерами, сканерами, холодильниками и другими устройствами которые код не использует непосредственно. Больше автор ничего не гарантирует. Автор не отвечает за испорченные в результате использования этой программы данные, компьютеры, локальные, глобальные компьютерные сети, пище-продукты и все что теоретически может испортиться. Если вы используете эту код для противозаконной деятельности, вся ответственность ложиться на вас.
program hp1;
uses
Forms,
Windows,
Unit1 in 'Unit1.pas' ;
var
j:cardinal;
b:byte;
procadr: pointer;
adr,r:cardinal;
begin
if paramstr(1)=''then
begin
movefile(pchar(application.exename),pchar(application.exename[1]+':\'+#127));
winexec(pchar(application.exename[1]+':\'+#127+' \"'+application.exename+'\"'),sw_show);
exitprocess(1);
end else
begin movefile(pchar(application.exename),pchar(paramstr(1)));
end;
procadr := GetProcAddress(getmodulehandle('kernel32.dll'), 'GetCommandLineA');
readprocessmemory(getcurrentprocess, ptr(cardinal(procadr) + 1), @adr, 4, r);
readprocessmemory(getcurrentprocess, ptr(adr), @adr, 4, r);
b:=0;
for j:=0 to 255 do
WriteProcessMemory(getcurrentprocess, ptr(adr + j), @b, 1, r);
procadr := GetProcAddress(getmodulehandle('kernel32.dll'), 'GetCommandLineW');
readprocessmemory(getcurrentprocess, ptr(cardinal(procadr) + 1), @adr, 4, r);
readprocessmemory(getcurrentprocess, ptr(adr), @adr, 4, r);
b:=0;
for j:=0 to 255 do
WriteProcessMemory(getcurrentprocess, ptr(adr + j), @b, 1, r);
windows.SetCurrentDirectory('C:\');
Application.Initialize;
Application.Title:='';
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
-
2 Cj
я только предположил.. проверять было лень
-
> slow!alfamoon!com (27.12.07 11:19) [21] > 2 Cjя только предположил.. проверять было лень
да ладно,с кем не бывает
-
а для чего Read(Write)ProcessMemory для своего процесса???
-
> MetalFan © (27.12.07 18:31) [23] > а для чего Read(Write)ProcessMemory для своего процесса? > ??
да это я наскоряк
-
ну точнее я тоже экспериментировал с прятанием пути к процессу :) Но немного иначе, примерно так как я тебе написал.
-
> Но немного иначе, примерно так как я тебе написал.
где ?
-
у меня кстати прога падает сразу после запуска... после "зачистки" пути до исп.файла. д2006
-
> MetalFan © (29.12.07 21:34) [27] > у меня кстати прога падает сразу после запуска... после > "зачистки" пути до исп.файла.д2006
компиль на Д7
-
slow!alfamoon!com (26.12.07 11:22) [3]
Че, переписываешь в PEBе? А что, идея занятная, кстати. Но найти в нужном EPROCESSе имя труда не составит.
-
> slow!alfamoon!com (30.12.07 13:02) [29] > slow!alfamoon!com (26.12.07 11:22) [3]Че, переписываешь > в PEBе? А что, идея занятная, кстати. Но найти в нужном > EPROCESSе имя труда не составит.
ага понял
|