Ring3下实现进程保护,不用hook

SSDT Hook实现内核级的进程保护 SSDT Hook效果图 加载驱动并成功Hook  NtTerminateProcess函数: 当对 指定的进程进行保护后,尝试使用“任务管理器”结束进程的时候,会弹出“拒绝访问”的窗口,说明,我们的目的已经达到: SSDT简介 SSDT 的全称是 System Services Descriptor Table,系统服务描述符表。 这个表 阅读详情

今天在分析一款木马的时候,发现做了进程保护,没加驱动,也没做hook,能做进程保护,感觉非常奇怪,原来是这么一回事,mark一下吧!

#include "stdafx.h"

#include <windows.h>
#include <Aclapi.h>

#pragma comment(lib,"Advapi32.lib")

BOOL Ring3ProtectProcess()
{
	HANDLE hProcess = ::GetCurrentProcess();
	SID_IDENTIFIER_AUTHORITY sia = SECURITY_WORLD_SID_AUTHORITY;
	PSID pSid;
	BOOL bSus = FALSE;
	bSus = ::AllocateAndInitializeSid(&sia,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,&pSid);
	if(!bSus) goto Cleanup;
	HANDLE hToken;
	bSus = ::OpenProcessToken(hProcess,TOKEN_QUERY,&hToken);
	if(!bSus) goto Cleanup;
	DWORD dwReturnLength;
	::GetTokenInformation(hToken,TokenUser,NULL,NULL,&dwReturnLength);
	if(dwReturnLength > 0x400) goto Cleanup;
	LPVOID TokenInformation;
	TokenInformation = ::LocalAlloc(LPTR,0x400);//这里就引用SDK的函数不引用CRT的了
	DWORD dw;
	bSus = ::GetTokenInformation(hToken,TokenUser,TokenInformation,0x400,&dw);
	if(!bSus) goto Cleanup;
	PTOKEN_USER pTokenUser = (PTOKEN_USER)TokenInformation;
	BYTE Buf[0x200];
	PACL pAcl = (PACL)&Buf;
	bSus = ::InitializeAcl(pAcl,1024,ACL_REVISION);
	if(!bSus) goto Cleanup;
	bSus = ::AddAccessDeniedAce(pAcl,ACL_REVISION,0xFFFFFFFF,pSid);
	if(!bSus) goto Cleanup;
	bSus = ::AddAccessAllowedAce(pAcl,ACL_REVISION,0x00100701,pTokenUser->User.Sid);
	if(!bSus) goto Cleanup;
	if(::SetSecurityInfo(hProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION | PROTECTED_DACL_SECURITY_INFORMATION,NULL,NULL,pAcl,NULL) == 0)
		bSus = TRUE;
Cleanup:
	if(hProcess != NULL)
		::CloseHandle(hProcess);
	if(pSid != NULL)
		::FreeSid(pSid);
	return bSus;
}


int _tmain(int argc, _TCHAR* argv[])
{
	Ring3ProtectProcess(); 
	printf("......");
	getchar();
	return 0;
}


OpenProcess没法获取它的句柄了,自然也就结束不了进程,也没法对它进行注入!

不过我只在Win7 x86环境试成功,XP系统没成功,不知道啥原因,其他系统还没测试.

内核编程之SSDTHook(2)Hook NtOpenProcess实现进程保护 本博文由优快云博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处: 上一篇博文“内核编程之SSDTHook(1)原理(地址:)”中,介绍了SSDTHook的原理,这一篇博文,我们来写一个实例,通过Hook NtOpenProcess来的实现进程保护。 我之前写过两篇Ring3下的API Inline Hook的博文,这两篇博文通过Inline 阅读详情

相关推荐

进程隐藏与进程保护(SSDT Hook 实现)(二 视频加密软件推荐

文章目录:                   1. 引子 – Demo 实现效果: 2. 进程隐藏与进程保护概念: 3. SSDT Hook 框架搭建: 4. Ring0 实现进程隐藏: 5. Ring0 实现进程保护: 6. 隐藏进程列表和保护进程列表的维护: 7. 小结:                  1. 引子 – Demo

xuplus的专栏 2538

mfc学习-守护程序

工作缘故,需要为主程序写一个守护程序,经过查阅资料,实现了mfc框架下的简单守护程序。 一、守护程序的定义     守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实

ORC-Lee的博客 2094

深入解析Ring3环境下Inline Hook绕过技术与Delphi实战

htmltable {th, td {th {pre {简介:在Windows系统中,Ring3即用户模式,是应用程序运行的常规环境,而Inline Hook作为一种常见的调试与监控手段,通过修改函数入口指令实现控制流劫持,广泛应用于恶意软件分析、逆向工程等领域。本文深入探讨在Ring3下如何有效绕过Inline Hook机制,并结合提供的Delphi源码进行技术剖析。

weixin_35019679的博客 1180

32位/64位WINDOWS驱动之保护指定进程PID(拒绝CE,X64dug,OD等工具读写)

给编辑框添加变量 类别 值 变量类型 改成UINT32 名称m_PID 完成。把RegistrationContext;在进入派遣函数中增加两个控制开关。进程保护.c里面 注释目标进程名。剪切到判断受保护下面 并修改为。搜索不到数值,打开内存也没有数据。x64dubug附加进程直接结束。来到添加保护进程按钮控制事件。来到移除保护进程按钮控制事件。读写控制后面添加两个函数。进程名标签改为进程PID。

a756598009的博客 1289

ring3实现任务管理器的进程防杀

ring3实现任务管理器的进程防杀 C++源码 包括DLL,可用于c#调用,在个windows平台测试通过

禁止进程结束 禁用任务管理器结束程序

已经写好的dll,直接调用里面的2个函数就可以了

MFC实现守护进程,包括开机自启动、进程单例、进程查询、进程等待、重启进程、关闭进程

就算白嫖也要自觉一点,不是吗?这是下载链接。

chenxipu123的博客 873

MFC隐藏进程

在taskmgr中隐藏进程,但是那些工具就不行了诶。不过骗骗一般人还是蛮不错的。 非mfc 中要去掉 #include

MFC的进程和线程

MFC教程_ MFC的进程和线程 MFC的进程和线程 Win32的进程和线程概念 进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。一个应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程。线程是操作系统分时调度分配CP

flyaflya的专栏 1845

MFC 守护进程

简单的守护进程程序,帮助理解守护进程,共享一下,稍微修改一下就能用

Deepseek接入QQ机器人:实现拟人化概率回复的完整指南

大语言模型API正在快速改变即时通讯工具的交互方式。通过标准化的OpenAI兼容接口,开发者可以将Deepseek等AI服务嵌入到QQ机器人等IM场景中,实现自然语言对话能力。其核心原理在于事件驱动架构:消息接收层通过OneBot协议获取群聊内容,业务层利用概率过滤与冷却机制控制回复节奏,再由大模型生成拟人化文本。这种设计不仅避免了机器人刷屏,还能通过系统提示词塑造性格,营造真实的社群陪伴体验。适用于粉丝群互动、内容订阅、小规模客服等场景,同时支持多群独立配置、关键词加权回复及上下文记忆扩展。在实际工程中,

weixin_29051245的博客 458

进程隐藏与进程保护(SSDT Hook 实现)(一)

文章目录: 1. 引子 – Hook 技术: 2. SSDT 简介: 3. 应用层调用 Win32 API 的完整执行流程: 4. 详解 SSDT: 5. SSDT  Hook 原理: 6. 小结: 1. 引子 – Hook 技术:对于 Hook 技术,可以分为两块: 第一块是在 Ring3 层的 Hook,俗称应用层 Hook 技术; 另一块是在 Ring0 层的 Hook,俗...

weixin_34195364的博客 215

Cisco Packet Tracer 7.3免登录技巧:3种方法快速跳过注册界面(附详细截图)

本文针对Cisco Packet Tracer 7.3启动时遇到的登录界面问题,提供了三种合法高效的解决方案。详细介绍了如何利用官方访客模式快速启动、注册思科账号实现一劳永逸登录,以及通过调整本地安装配置优化启动流程,帮助网络学习者与备考者绕过繁琐步骤,快速进入实验环境。

weixin_29305337的博客 739

ring3实现进程保护

Ring3下Hook进程有多种方法,其中有消钩子(Msg Hook)、线程注入(Insert Thread)和ShellCode等,前两种最为常见。以前用VB只能用shellcode,原因是VB不支持标准DLL,而VC则完全不成问题,下面说一下方法。消息注入是通过SetWindowsHookEx安装一个钩子(比如WH_GETMESSAGE)然后将DLL注入系统所有GUI进程,这样,大部分进...

zzmzzff的博客 1852

NVIDIA Jetson之交叉编译工具

参考:http://bbs.xfyun.cn/forum.php?mod=viewthread&amp;tid=33630 用TX2做红外热成像仪的识别,厂家不提供源码,只能提供对应版本的SDK,但是需要我们自己提供交叉编译器 由于之前没有做过交叉编译相关工作,对编译工具不太了解,因此查找相关资料学习下 交叉编译知识 一般来说,针对嵌入式平台的开发有两种编译模式:原生编译和交叉编译。原生编...

ZONGXP的博客 8384

TRON 主网节点搭建-2024最新详细版文档

TRON主网节点搭建以前,大概说明一下本次使用的服务器配置,本次从搭建部署到节点完成同步的时间大约为36小时。

J_Lee 4057

浅谈inline HOOk之ring0下的进程保护

浅谈inline HOOk之ring0下的进程保护 在上一篇中说了一下ring3下简单的inline HOOK,写函数开头的方法还是比较通用的,而Call钩子虽然有隐蔽的优点,却需要对目标函数进行反汇编,都不适合大规模使用,还有push 、ret的方法,熟习的API的压栈原理,就很简单的,这些问题以后再讨论,这次我将上一篇文章里的代码移植到了ring0下,用来实现进程保护,rin

linuxheik的专栏 2499

ROS机器人里程计模型

3.5 移动机器人系统模型 相信大家的机器人平台STM32端底层控制和机器人urdf建模都已经顺利完成了,在正式开始ros端编写机器人启动功能包之前,我们还不得不学习一些必要的理论知识。别担心数学不好,这里基本都是高中数学。下面我们开始,Are you ready? 没准备好也开始了。 3.5.1 常用坐标系系统模型 在移动机器人技术研究中,最为常用的坐标系统是笛卡尔坐标系统。而在SLAM算法研究中,有如下几个比较常见的笛卡尔坐标系统,它们分别为机器人坐标系XR YR OR 、传感器坐标系XS YS OS

「小白学移动机器人」一个专注分享移动机器人相关知识的公众号! 1万+

c++注入思路inlink hook,ring3和ring 0

注入DLL的思路步骤: 1. 在目标进程中申请一块内存空间(使用VirtualAllocEx函数) 存放DLL的路径,方便后续执行LoadLibraryA 2. 将DLL路线写入到目标进程(使用WriteProcessMemory函数) 3. 获取LoadLibraryA函数地址(使用GetProcAddress),将其做为线程的回调函数 4. 在目标进程 创建线程并执行(使用CreateRemoteThread) std::string temp = W2Astring(strDllPath); in

qq_35490522的博客 1992

MIKE水动力笔记7_实测数据与模型输出结果的拟合对比

上一博文【MIKE水动力笔记6】主要讲解如何自己制作实测数据的时间序列文件dfs0,而本博文讲解如何进行实测数据与模型输出结果的拟合对比。

晏长街的博客 1万+

【无人机路径规划】基于强化学习实现多无人机路径规划

【无人机路径规划】基于强化学习实现多无人机路径规划

k8291121的博客 1656

最新隐藏进程 RING3实现方式:hook ZwQuerySystemInformation 隐藏进程 在XP里测试通过

研究其他作者写的文章,也是hook ZwQuerySystemInformation 隐藏进程,可是我怎么测试都没有通过,不能隐藏进程,在网上也试了其他隐藏进程的代码,也不行。唉,那就只有自己动手啦~~~ 既然hook ZwQuerySystemInformation 可以隐藏进程,我就拿它刀了。首先声明,本人只是业余编程者,代码不好看的地方请多包涵。 经过反复测试,终于找到了关键处: wh

aq782645210的专栏 3747

【QNX Hypervisor 2.2 用户手册】2.6 处理qvm终止

你可以注册通知,以在qvm进程实例退出时得到通知。这样你就可以采取相应的措施来响应这种终止事件。

从0到1,突破自己 1106

实现hook OpenProcess实现ring3保护进程、代码

/*********************************实现hook OpenProcess实现ring3保护进程、、C++完整代码、、************************************************/#include <windows.h>PIMAGE_IMPORT_BY_NAME pImportByName = N...

weixin_34315485的博客 3119

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

HOOK - 进程隐藏与进程保护(SSDT Hook 实现)(二)

进程隐藏与进程保护(SSDT Hook 实现)(二) 文章目录: 1. 引子 – Demo 实现效果: 2. 进程隐藏与进程保护概念: 3. SSDT Hook 框架搭建: 4. Ring0 实现进程隐藏: 5. Ring0 实现进程保护: 6. 隐藏进程列表和保护进程列表的维护: 7. 小结: ...

weixin_30765319的博客 179

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: linux环境禁用apache目录浏览功能
下一篇: sqlite3数据库操作小记
sysprogram
博客等级 码龄17年 298粉丝 442原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值