博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序通过创建线程实现删除自身(转)
阅读量:5950 次
发布时间:2019-06-19

本文共 2172 字,大约阅读时间需要 7 分钟。

@echo   off loop del  access.exe if   exist   access.exe goto   loop del   DelMe.bat 下面用C/C++语言表示创建DelMe.bat文件
FILE *pFile=NULL; pFile=fopen("DelMe.bat","w"); if(pFile==NULL) {
return; } fputs("@echo off\n",pFile); fputs("loop\n",pFile); fputs("del access.exe\n",pFile); fputs("if exist access.exe\n",pFile); fputs("goto loop\n",pFile); fputs("del DelMe.bat\n",pFile);

再通过API函数执行DelMe.bat文件

下面通过创建线程实现程序删除自身

#include 
BOOL SelfDelete(); //---------------------------------------------------------------- int main() {
SelfDelete(); exit(0); return 0; } //--------------------------------------------------------------- BOOL SelfDelete() {
TCHAR szModule [MAX_PATH], szComspec[MAX_PATH], szParams [MAX_PATH]; // get file path names: if((GetModuleFileName(0,szModule,MAX_PATH)!=0) && (GetShortPathName(szModule,szModule,MAX_PATH)!=0) && (GetEnvironmentVariable("COMSPEC",szComspec,MAX_PATH)!=0)) {
// set command shell parameters lstrcpy(szParams," /c del "); lstrcat(szParams, szModule); lstrcat(szParams, " > nul"); lstrcat(szComspec, szParams); // set struct members STARTUPINFO si={
0}; PROCESS_INFORMATION pi={
0}; si.cb = sizeof(si); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE; // increase resource allocation to program SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL); // invoke command shell if(CreateProcess(0, szComspec, 0, 0, 0,CREATE_SUSPENDED| DETACHED_PROCESS, 0, 0, &si, &pi)) {
// suppress command shell process until program exits SetPriorityClass(pi.hProcess,IDLE_PRIORITY_CLASS); SetThreadPriority(pi.hThread,THREAD_PRIORITY_IDLE); // resume shell process with new low priority ResumeThread(pi.hThread); // everything seemed to work return TRUE; } else // if error, normalize allocation {
SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS); SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_NORMAL); } } return FALSE; }

转载于:https://www.cnblogs.com/zhjb616/archive/2011/09/03/2165869.html

你可能感兴趣的文章
7月第一周.COM增近8万 ×××域名.XXX仅增14个
查看>>
12月第3周在线视频网站覆盖数排名TOP15:优酷夺冠
查看>>
全球域名注册商(国际域名)保有量及市场份额(6月6日)
查看>>
Linux常用的命令和脚本
查看>>
Linux curl命令参数详解
查看>>
Asterisk的MusicOnHold设置(1.8)
查看>>
LightBus新浪微博客户端开源下载
查看>>
交换机时间同步
查看>>
土豆网发布互动娱乐急播平台Channel豆
查看>>
在 Ali Kubernetes 系统中,我们这样实践混沌工程
查看>>
Linux-rsync+inotify 文件实时同步
查看>>
七Python异常和文件处理(二)
查看>>
log4j典型配置快速上手笔记
查看>>
如何提高团队代码质量——代码审查的实践
查看>>
公司对外若干台web服务器,发现有人恶意刷新页面,怎么办?
查看>>
五指cms标签说明汇总
查看>>
oracle 客户端安装
查看>>
CentOS minimal安装和开发环境部署
查看>>
JavaScript 日期格式化显示
查看>>
JSP与struts2跳转兼容问题
查看>>