Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 49939|Respuesta: 9

[C] ¡Programa C para lograr el código de autodestrucción!

[Copiar enlace]
Publicado en 23/10/2014 15:26:36 | | |
  1. #include <windows.h>
  2. #include <shellapi.h>
  3. #include <shlobj.h>

  4. BOOL SelfDel()
  5. {
  6.     SHELLEXECUTEINFO sei;
  7.     TCHAR szModule [MAX_PATH],szComspec[MAX_PATH],szParams [MAX_PATH];
  8.    
  9.     // 获得自身文件名. 获取cmd的全路径文件名
  10.     if((GetModuleFileName(0,szModule,MAX_PATH)!=0) &&
  11.         (GetShortPathName(szModule,szModule,MAX_PATH)!=0) &&
  12.         (GetEnvironmentVariable("COMSPEC",szComspec,MAX_PATH)!=0))
  13.     {
  14.         // 设置命令参数.
  15.         lstrcpy(szParams,"/c del ");
  16.         lstrcat(szParams, szModule);
  17.         lstrcat(szParams, " > nul");
  18.         
  19.         // 设置结构成员.
  20.         sei.cbSize = sizeof(sei);
  21.         sei.hwnd = 0;
  22.         sei.lpVerb = "Open";
  23.         sei.lpFile = szComspec;
  24.         sei.lpParameters = szParams;
  25.         sei.lpDirectory = 0;        sei.nShow = SW_HIDE;
  26.         sei.fMask = SEE_MASK_NOCLOSEPROCESS;
  27.         
  28.         // 创建cmd进程.
  29.         if(ShellExecuteEx(&sei))
  30.         {
  31.             // 设置cmd进程的执行级别为空闲执行,使本程序有足够的时间从内存中退出.
  32.             SetPriorityClass(sei.hProcess,IDLE_PRIORITY_CLASS);

  33.             // 将自身进程的优先级置高
  34.             SetPriorityClass(GetCurrentProcess(),REALTIME_PRIORITY_CLASS);
  35.             SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_TIME_CRITICAL);
  36.             
  37.            // 通知Windows资源浏览器,本程序文件已经被删除.
  38.             SHChangeNotify(SHCNE_DELETE,SHCNF_PATH,szModule,0);
  39.             return TRUE;
  40.         }
  41.     }
  42.     return FALSE;
  43. }
  44. int main()
  45. {
  46.     SelfDel();
  47.     }
Copiar código






Anterior:Firmware y Jailbreak de Apple IOS8.1 y Tutorial organizados
Próximo:Ruijie descifra el método 8021x solo sin verificar la integridad del cliente
Publicado en 9/1/2015 15:21:01 |
Aprende, el administrador ha trabajado duro.
Publicado en 23/7/2017 0:02:53 |
Aprende, el administrador ha trabajado duro.
Publicado en 11/8/2017 6:26:51 |
Aprende, el administrador ha trabajado duro.
Publicado en 20/6/2021 17:56:46 |
6662222222222222222222
Publicado en 8/7/2021 1:25:33 |
Aprende, el administrador ha trabajado duro.
Publicado en 16/7/2021 16:38:25 |
Gracias por compartirlo,
Publicado en 3/8/2021 8:51:16 |
Aprende, el administrador ha trabajado duro.
Publicado en 23/8/2021 16:10:19 |
Aprende, el administrador ha trabajado duro.
Publicado en 22/5/2022 22:56:21 |
Apréndelo
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com