很巧妙的进程防杀方法

C# 保护进程不被结束(源代码) 闲来无事,英语又学的太痛苦。看到我妈妈电脑开起在,就坐上去看看新闻,听听音乐。哎,突然间,老毛病又烦了,想起原来一直有个编程的问题没有解决——禁止别人用任务管理器,结束自己的程序进程(.NET程序)。带着这个问题,我开始Google,开始baidu,又开始编程了。和原来的搜索结果一样,什么东西都是一筹莫展,得到的答案永远是:C#没有办法自己去禁止别人用任务管理器结束自己进程。不过功夫不负有心人。我 阅读详情
刚刚学内核对象,想写个可以防杀的进程,但其他方法太高级,
本菜鸟不感高攀,想了几天,想到一个很本的办法,不正确的
方还请高手指点一下.
程序运行两个事例,每个实例互相监视另外的实例是否存在,
如果不存在,就运行一个.
代码:
// test_process.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "tchar.h"
#include "iostream.h"
#include "windows.h"

LPCTSTR lpszMutex1 = _T("mutex1");
LPCTSTR lpszMutex2 = _T("mutex2");

DWORD WINAPI Thread1(LPARAM lParam);
DWORD WINAPI Thread2(LPARAM lParam);

int main(int argc, char* argv[])
{
    HANDLE hMutex1 = CreateMutex(NULL, FALSE, lpszMutex1);
    if (hMutex1 != NULL)
    if (GetLastError() == ERROR_ALREADY_EXISTS)
    {
        CloseHandle(hMutex1);
        cout << lpszMutex1 << " already exist." << endl;
        HANDLE hMutex2 = CreateMutex(NULL, FALSE, lpszMutex2);
        if (hMutex2 != NULL)
        if (GetLastError() == ERROR_ALREADY_EXISTS)
        {
            cout << lpszMutex2 << " already exist." << endl;
            return 1;
        }
    }
    DWORD dwThreadId;
    HANDLE hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Thread1,NULL,0,&dwThreadId);
    CloseHandle(hThread);
    while (1)
    Sleep(1);
    return 0;
}
DWORD WINAPI Thread1(LPARAM lParam)
{
    HANDLE hMutex;
    while (1)
    {
        hMutex = OpenMutex(MUTEX_ALL_ACCESS, TRUE, lpszMutex1);
        if (! hMutex)
        {
            STARTUPINFO si = { sizeof STARTUPINFO };
            PROCESS_INFORMATION pi;
            TCHAR szBuf[MAX_PATH];
            GetModuleFileName(GetModuleHandle(NULL), szBuf, MAX_PATH);
            CreateProcess(szBuf, NULL, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
            CloseHandle(pi.hThread);
            CloseHandle(pi.hProcess);
        }
        CloseHandle(hMutex);
        hMutex = OpenMutex(MUTEX_ALL_ACCESS, TRUE, lpszMutex2);
        if (! hMutex)
        {
            cout << "mutex 2 created." << endl;
            STARTUPINFO si = { sizeof STARTUPINFO };
            PROCESS_INFORMATION pi;
            TCHAR szBuf[MAX_PATH];
            GetModuleFileName(GetModuleHandle(NULL), szBuf, MAX_PATH);
            CreateProcess(szBuf, NULL, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
            CloseHandle(pi.hThread);
            CloseHandle(pi.hProcess);
        }
        CloseHandle(hMutex);
        cout << "Thread      ..." << endl;
        Sleep(1);
    }
    return 1;
}
如何利用十行C++代码,绕过杀毒软件实现免杀? 我相信大部分的读者都会同意这个观点,绕过大部分杀毒软件的基本方法都很平常没什么特殊的。然而,我也偶尔会遇到一些人仅仅依靠工具生成二进制文件,这些文件很容易被杀毒软件通过指纹标记出来。本文主要是为这些人所准备的。 下面是小编整理好的一套C/C++资料,加小编C/C++编程学习群825414254,获取系统性学习C/C++的学习资料 在我们开始接触这段小巧的 C++ 代码前,我想先介绍一个可以非常... 阅读详情

相关推荐

Metasploit终端攻击与绕防实战:从载荷免杀到持久化渗透

在网络安全领域,终端防护与攻击绕过是攻防对抗的核心议题。终端安全软件通过静态特征检测、动态行为监控等多层机制,旨在识别和阻断恶意代码的执行。为了突破这些防护,渗透测试人员需要深入理解操作系统机制和安全软件工作原理,掌握载荷编码混淆、进程注入、内存操作等关键技术。这些技术的价值在于提升攻击的隐蔽性和成功率,在内网渗透、红队评估等实战场景中至关重要。例如,利用Metasploit框架结合自定义壳(Custom Packer)和分离加载(Stageless vs Stager)技术,可以有效对抗静态检测;而通过进

过客阵营 -- 简单的就要最简单 442

C\C++各路高手以及操作系统专家请进来杀死这个进程

通常情况下编写一个程序,可以点击关闭按钮正常结束程序,也可以使用任务管理器结束任务,还可以使用taskkill等命令杀死进程,实在都不行也可以直接重启计算机。         但是,这些方法真的都管用吗?我觉得不一定,今天晚上闲着没事,想写一个杀不死的程序。设计思路如为写三个程序ProcessMain、Process1和Process2,相互保护,具体如下: 1、按照平时的方法

lynch0571的专栏 2536

Shellcode免杀实战:绕过主流杀软的多维对抗策略

在网络安全领域,恶意代码检测与规避是攻防对抗的核心议题。Shellcode作为一段可直接在内存中执行的机器码,常被用于渗透测试和漏洞利用后的权限维持。其工作原理是通过特定触发条件加载到进程内存空间并执行,从而绕过传统基于文件特征的静态检测。从技术价值看,研究Shellcode免杀技术有助于深入理解现代终端安全防护体系(如行为监控、内存扫描和AI模型)的运作机制,提升安全人员对攻击链的认知和防御策略的有效性。在实际应用场景中,红队和渗透测试工程师需针对360、火绒、Windows Defender等主流杀软的

culi3182的博客 509

C# 进程防杀

引用KProtectProcess.dll然后NKCore.dll 是c++的类库放在同级目录就可以了。开始调用KProtectProcess.KProcess.SelfProtection();结束调用KProtectProcess.KProcess.UnLoadProtection();这样用户就无法在任务管理器的 进程 中杀掉你的程序了。/Files/luomingui/进程防杀...

老罗传奇 727

【python 实时打印/记录子进程中的输出到主进程 巧妙地实现】

python code 打印/记录子进程中的输出到主线程 巧妙地实现

放飞自我的coder 1544

Linux进程管理(一)进程数据结构

Linux进程管理(一)进程数据结构 文章目录Linux进程管理(一)进程数据结构双向链表任务ID信号处理进程状态进程调度运行统计信息进程亲缘关系内存管理文件与文件系统进程内核栈栈结构current宏 Linux内核中使用 task_struct 结构来表示一个进程,这个结构体保存了进程的所有信息,所以它非常庞大,在讲解Linux内核的进程管理,我们有必要先分析这个 task_struct 中的各...

JT同学的博客 5663

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

很巧妙的进程防杀方法[秋镇菜原创]document.title="很巧妙的进程防杀方法[秋镇菜原创] - "+document.title 刚刚学内核对象,想写个可以防杀的进程,但其他方法太高级,本菜鸟不感高攀,想了几天,想到一个很本的办法,不正确的方还请高手指点一下.程序运行两个事例,每个实例互相监视另外的实例是否存在,如果不存在,就运行一个.代码:// test_process.cpp

神经网络爱好者 2942

进程防杀hook openprocess[C]

进程防杀 hook openprocess hook openprocess

很巧妙的进程防杀方法(互斥)

文章作者:I_LIKE_CPP刚刚学内核对象,想写个可以防杀的进程,但其他方法太高级,本菜鸟不感高攀,想了几天,想到一个很本的办法,不正确的方还请高手指点一下.程序运行两个事例,每个实例互相监视另外的实例是否存在,如果不存在,就运行一个.代码:// test_process.cpp : Defines the entry point for the console application.//#i

1761

c# 进程防杀 张宇轩

引用KProtectProcess.dll 然后NKCore.dll 是c++的类库放在同级目录就可以了。 开始调用 KProtectProcess.KProcess.SelfProtection(); 结束调用KProtectProcess.KProcess.UnLoadProtection(); 这样用户就无法在任务管理器的 进程 中杀掉你的程序了。

进程防杀——双进程守护

进程A为主进程,进程B为守护进程,例如:通过一个事件event,判断进程A是否存在,若存在,无动作,若不存在,则启动进程A; B—>启动临时进程—>启动进程A;临时进程的作用是防止通过进程树把两个进程同时杀死。

巧妙记忆Linux进程状态

关于进程的相关解释可以看主播重生系列的有关进程的文章,这里主要讲解如何巧妙记忆进程的状态来应付面试提问。:进程正在等待 I/O 操作完成(不可中断的睡眠)。:进程正在等待某个事件完成(可中断的睡眠)。:进程处于空闲状态(通常用于内核线程)。如果进程结束了但父进程没管它,就变成了。:进程被信号暂停(如 Ctrl+Z)。:进程已终止,但其父进程尚未回收它。ill:表示进程正在被强制终止。如果进程彻底结束了,就变成了。dle:表示进程处于空闲状态。:进程已完全终止(很少见)。如果进程被暂停了,就变成了。

2301_79893878的博客 533

Hi3516CV610硬件设计避坑指南:从电源模块到DDR布线实战解析

本文深入解析了Hi3516CV610硬件设计中的关键难点与实战技巧。重点剖析了电源架构的选型陷阱与PCB布局要点,详细阐述了DDR3/L高速布线的等长匹配、信号完整性及端接策略,并提供了MIPI接口与时钟电路的隔离设计指南。旨在帮助工程师规避常见设计错误,提升系统稳定性与可靠性。

ooo22的博客 255

Moukthar持久化机制全解析:开机自启、断线重连与防杀技巧一网打尽

Moukthar 是一款开源的 **Android 远程管理工具**(Remote Administration Tool),其核心价值在于对被控端的持续掌控能力。对于刚接触 RAT 工具的新手而言,最常问的问题往往是:**手机重启后工具还能自动运行吗?网络断开后连接会自动恢复吗?被系统清理后还能复活吗?** 本文将带你逐层拆解 Moukthar 的 **持久化机制**,用通俗易懂的方式讲清开机自

gitblog_00594的博客 346

从零构建智能ai语音助手:ESP32s3+Python+大语言模型实战指南

本文详细介绍了基于ESP32S3硬件和Python后端的智能语音助手系统开发指南。系统采用ESP32S3采集语音,通过WebSocket实时传输到Python后端处理,利用大语言模型实现自然语言理解和意图识别,再通过TTS合成语音返回。文章从系统架构、工作流程、技术实现(包括OPUS编码、WebSocket通信、ESP32音频处理)等方面进行了详细讲解,并提供了分阶段学习路线和常见问题解决方案。该项目展示了物联网技术与AI技术的融合应用,相比传统语音系统具有更高的灵活性和智能性,为开发者提供了完整的实现方案

Despacito0o的博客 2629

YOLOv8中Anchor-Based、Anchor-Free及样本分配策略

本文主要介绍yolov8中的anchor机制与样本分配策略的静态策略和动态策略

qq_52889317的博客 2211
上一篇: 建立tcp/ip连接,vc6实现客户端(发送数据)
下一篇: socket实现tcp/ip服务端源码,无线程
goingup
博客等级 码龄22年 52粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值