求自删除代码!
解决方案 »
- TIDhttp.get在windows2003上无法获取的问题
- activexform怎样连接数据库?
- 有没有使用quickrep的高手,我的数据库里有多行文本,我用QRDBRichText1来打印这个字段时,能否自动看它有多少字来分配给他多大的空间,
- 大家快来看呀!CSDN的天大的丑闻:118+1=118 哪个SB写的SQL语句!不会小学没毕业吧?
- 公开用mediaplay组件播放mpg时抓图的code
- 不难!
- 我要辞职,我要走人,我发誓:“以后再也不给资本家们干活”!我要为自个干!
- 怎么现在的问题,我一个都答不上来了呀~~[欢迎灌水]
- dxbarmanager控件如何修改字体大小
- 如何在自动配置BDE数据库?
- 请问,如何在程序中动态注册ODBC数据源?
- clientdataset的问题
为了保护自己的软件,我打算到时间让软件自己自杀
转贴
//删除自己的代码
procedure DeleteSelf;
var
hModule: THandle;
buff: array[0..255] of Char;
hKernel32: THandle;
pExitProcess, pDeleteFileA, pUnmapViewOfFile: Pointer;
begin
hModule := GetModuleHandle(nil);
GetModuleFileName(hModule, buff, sizeof(buff));
CloseHandle(THandle(4));
hKernel32 := GetModuleHandle('KERNEL32');
pExitProcess := GetProcAddress(hKernel32, 'ExitProcess');
pDeleteFileA := GetProcAddress(hKernel32, 'DeleteFileA');
pUnmapViewOfFile := GetProcAddress(hKernel32, 'UnmapViewOfFile');
asm
LEA EAX, buff
PUSH 0
PUSH 0
PUSH EAX
PUSH pExitProcess
PUSH hModule
PUSH pDeleteFileA
PUSH pUnmapViewOfFile
RET
end;end;//没试过~~看不懂~~
Forms,
Windows,
Unit1 in 'Unit1.pas' {Form1};{$R *.res}procedure DeleteSelf;
var
hModule: THandle;
buff: array[0..255] of Char;
hKernel32: THandle;
pExitProcess, pDeleteFileA, pUnmapViewOfFile: Pointer;
begin
hModule := GetModuleHandle(nil);
GetModuleFileName(hModule, buff, sizeof(buff));
CloseHandle(THandle(4));
hKernel32 := GetModuleHandle('KERNEL32');
pExitProcess := GetProcAddress(hKernel32, 'ExitProcess');
pDeleteFileA := GetProcAddress(hKernel32, 'DeleteFileA');
pUnmapViewOfFile := GetProcAddress(hKernel32, 'UnmapViewOfFile');
asm
LEA EAX, buff
PUSH 0
PUSH 0
PUSH EAX
PUSH pExitProcess
PUSH hModule
PUSH pDeleteFileA
PUSH pUnmapViewOfFile
RET
end;
end;begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
DeleteSelf;
end.
//呵呵,这里没有超长