Вниз
Скачать: CL | DM;

Возможно ли стирание программой своего EXE файла ?   Найти похожие ветки 

 
JohnKorsh   (2005-02-03 16:11) [0]

Не поскажет ли кто возможно ли из программы стереть её EXE файл. Вариант типа

F   : file of byte;
S   : string;

S := ParamStr [0];
AssignFile (F,S);
Erase (F);

не работает ещё на этапе отладки, может чего не так делаю ?


 
Digitman ©   (2005-02-03 16:14) [1]


> возможно ли из программы стереть её EXE файл


документированными средствами - нет.
а недокументированные средства ненадежны и относятся к разряду "грязного хака".


 
Erik1 ©   (2005-02-03 17:43) [2]

Можно, здесь уже было большое обсуждение этой темы. Помню был такой код:
procedure DeleteSelf;
var
 module: HModule;
 buf: array[0..MAX_PATH - 1] of char;
 p: ULong;
 hKrnl32: HModule;
 pExitProcess,
 pDeleteFile,
 pFreeLibrary: pointer;
begin
 module := GetModuleHandle(nil);
 GetModuleFileName(module, buf, SizeOf(buf));
 CloseHandle(THandle(4));
 p := ULONG(module) + 1;
 hKrnl32 := GetModuleHandle("kernel32");
 pExitProcess := GetProcAddress(hKrnl32, "ExitProcess");
 pDeleteFile := GetProcAddress(hKrnl32, "DeleteFileA");
 pFreeLibrary := GetProcAddress(hKrnl32, "FreeLibrary");
 asm
   lea eax, buf
   push 0
   push 0
   push eax
   push pExitProcess
   push p
   push pDeleteFile
   push pFreeLibrary
   ret
 end;
end;


 
Digitman ©   (2005-02-03 17:49) [3]


> Erik1 ©   (03.02.05 17:43) [2]


это и есть элемент "грязного хака" ... причем - только для маздайной платформы


 
SaveDialog12331   (2005-02-03 21:53) [4]

http://www.delphirus.net.ru/
www.delphiworld.ru
Дай поиск комикадзе или камикадзе
Найдешь там
А пример Erik1 если впихнуть не пощитает ли какой антивирус его вирусом?


 
Anatoly Podgoretsky ©   (2005-02-03 22:31) [5]

Digitman ©   (03.02.05 17:49) [3]
При чем ограниченной.


 
i-s-v ©   (2005-02-04 02:37) [6]

Можно... Что-то в реестр записать надо. А что - не помню... И после перезагрузки файла не будет


 
GrayFace ©   (2005-02-04 05:17) [7]

Можно создать и запустить .bat файл, который пытается удалить exe, а, когда удасться, удаляет себя. Пример - uninstall.bat в Artmoney.


 
JohnKorsh   (2005-02-04 08:37) [8]

Спасибо, помогло.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.062 c
3-1106245115
Alexandr--
2005-01-20 21:18
2005.02.20
VarbinaryToVarchar ?


10-1080597324
GanibalLector
2004-03-30 01:55
2005.02.20
MDAC и DCOM


1-1107333376
denis24
2005-02-02 11:36
2005.02.20
изменения размера шрифта при редактировании в stringgtide


3-1106329006
Руслана
2005-01-21 20:36
2005.02.20
Вопрос по SQL запросу


4-1104909721
race1
2005-01-05 10:22
2005.02.20
маска+картинка=результат




   Наверх