用户级权限实现简单防杀

Guest权限下实现防杀!全网首创思路!

无意中翻出小学时候写的程序,应该是全网首创的无权限防杀手段,拿出来分享下。这个程序运行不需要任何权限,应该是为数不多的能抗住PChunter强制结束的用户级程序(除了双进程)。程序只有一个主程序,主程序通常情况下杀不掉,被保护的程序只要不在运行则创建一个进程。写的比较仓促还有很多不足,分享一下思路而已,利用获取进程句柄和结束进程之间的时差“更换”自己的pid和句柄来让对方只能找到上一个进程的句柄从而无法结束,并不是真正意义上的防杀。因为没有权限,所以同等权限级的taskkill反而可以轻易将其结束(速度快)。如果驱动级防杀程序可以利用这个思路基本上就无敌了,只能利用内核hook阻止创建进程,强制删除主程序等方法将其关闭。如果同样的思路而使用用效率更高的语言来完成(如汇编语言)那么也许taskkill也拿它没办法。缺点就是因为频繁创建销毁进程因此会占用较多系统资源。

新的加强版已写好,可以避免被taskkill这类简单高效的工具杀死,友链https://blog.csdn.net/Hnnnbhnnnb/article/details/104035114

感谢聆听,有想法可在评论区留言哈~

#include "stdafx.h"
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <shellapi.h>
#include <tchar.h>
#include <tlhelp32.h>  #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )int FindProcess(char *name)
{  int i=0;  PROCESSENTRY32 pe32;  pe32.dwSize = sizeof(pe32);   HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);  if(hProcessSnap == INVALID_HANDLE_VALUE)  {  i+=0;  }  int bMore = ::Process32First(hProcessSnap, &pe32);  while(bMore)  {  if(stricmp(name,pe32.szExeFile)==0)  //name是进程名{  i+=1;  }  bMore = ::Process32Next(hProcessSnap, &pe32);  }  return i;}  int main(int argc,char* argv[])
{TCHAR SelfFilePath[MAX_PATH + 1]={0};GetModuleFileName(NULL, SelfFilePath, MAX_PATH);//这里是获取自身完整路径fopen(SelfFilePath,"r");//自锁,不然重命名文件的话时差肯能导致程序崩溃(找不到自己的新名字)ShellExecute(NULL,NULL,SelfFilePath, NULL, NULL, SW_SHOWNORMAL);//运行自己//这里是看一看要保护的其他进程还在不在(这里写的比较仓促,仅根据名称判断并不保险)这里可以根据需要替换成其他的功能,但是时间不宜过长应当立即让程序返回if(!FindProcess("cmd.exe"/*要保护的进程名*/)){ShellExecute(NULL,NULL,"cmd.exe"/*需要保护的进程名*/, NULL, NULL, SW_SHOWNORMAL);}return 0;
}

首创!用户级权限进程防杀 C++相关推荐

  1. 三两行代码实现进程防杀,免驱动,IceSword,WSysCheck等无效.

    其实这个已经是一个很老的技巧了,今天挖出来写到blog上.windows在强制结束进程的时候会先结束掉所有的线程,而结束线程调用的是:PspTerminateThreadByPointer,这个函数很 ...

  2. 很巧妙的进程防杀方法[秋镇菜原创]

    刚刚学内核对象,想写个可以防杀的进程,但其他方法太高级, 本菜鸟不感高攀,想了几天,想到一个很本的办法,不正确的 方还请高手指点一下. 程序运行两个事例,每个实例互相监视另外的实例是否存在, 如果不存 ...

  3. Linux进程防杀/防崩溃monitor的实现

    对于自行实现的很多服务,很多人喜欢用一个专门的监控进程来监控自己的服务,为了防止监控进程也崩掉,甚至使用了经典的双进程监控.不说别的,光编写调试这个双进程就够我喝一壶的啦,对于我这样专门写bug的家伙 ...

  4. linux 用户身份与进程权限

    基本概念 用户 对于支持多任务的 Linux 系统来说,用户就是获取资源的凭证. 权限 权限用来控制用户对计算机资源(CPU.内存.文件等)的访问,一般会分为认证和授权两步.比如用户先经过认证机制(a ...

  5. 后台服务显示右下角弹窗 -- system权限创建用户权限进程

    windows编程的人都知道,在其操作系统下,进程被创建,通常被赋予很多属性,其中一项属性就是用户名,及进程所属的权限.打开任务管理器,可查看到(查看不到,点击查看,选择列即可) 通常桌面系统expl ...

  6. mysql 列级权限授予用户_mysql 用户及权限管理 小结

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  7. Linux下的LWP(轻量级进程)、进程 、 线程、用户级线程、内核线程

    一.定义 再看正文之前我要先强调一下几点: 1. Linux中没有真正的线程,但windows中确实有线程 2. Linux中没有的线程是由进程来模拟实现的(又称作:轻量级进程) 3. 所以在Linu ...

  8. 智能化防杀未知电脑病毒探讨

    智能化防杀未知电脑病毒探讨 金州[est_vip] 2006.8.21 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-c ...

  9. 性能优化二十三之Service进程防杀死

    前言 Service作为四大组件之一很多安卓开发者对他肯定是又爱又恨,爱在它可以帮助我们去处理常驻后台的任务操作,比如说推送服务,心跳传输等,恨在当Servcie遇到360.腾讯管家之类的杀毒软件,变 ...

最新文章

  1. 三元组损失 Triplet Loss及其梯度
  2. [鸟哥的Linux私房菜] X Window 与 纯文本模式的切换
  3. linux下查看文件命令小结
  4. CENTOS7配置静态IP后无法ping通外部网络的问题
  5. react封装子组件弹框
  6. stm32编程入门_电子设计与单片机编程书籍资料推荐
  7. 在 idea 中为类和方法自动生成注释
  8. python画同心圆程序_Python Turtle:使用circle()方法绘制同心圆
  9. Altium Designer(五):布板技巧
  10. digester java_Java XML解析之Digester的使用
  11. 计算机求和公式IFEROR,IFERROR函数详解_Excel公式教程
  12. CortexM3/M4(3)-指令集
  13. Field userDao ....service.impl...'com.lzj.springcloud.dao.UserDao' that could not be found
  14. F1DC2706蓝牙模块的射频特性及功耗测试
  15. 计算机初中毕业好学吗,初中毕业学计算机好学吗?
  16. FlinkSql的窗口使用以及运用案例
  17. 一个震惊了整个德国的故事
  18. 糖尿病不控制,老王后悔莫及
  19. pycharm自动排版 pycharm替换快捷键 2019版
  20. 电烤盘的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. 【爬虫】第一部分 urllib
  2. linux 设备驱动 ppt,linux设备驱动开发详解讲座ppt
  3. 详解HTTP的文件上传全过程(RFC1867协议)
  4. 数据可视化-《白蛇2:青蛇劫起》(1)
  5. 比尔·盖茨最新分享:ChatGPT的发展,不止于此
  6. ADS系列 - 定向耦合器设计教程1
  7. pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联
  8. 计算机网络——电子邮件客户端程序设计与实现
  9. python配什么数据库_[宜配屋]听图阁
  10. 手把手教你如何获取微信公众号用户的个人信息(包括OpenId)