PspTerminateProcess 结束冰刃进程

进程强杀探究 前言 我们知道在windows操作系统里面有ring0跟ring3的概念(ring1、ring2在windows中并未使用),因为ring0的特权级别是比ring3高的,那么我们肯定不能在ring3调用windows提供的api杀死ring0特权级别的进程,那么这时候我们就需要使用的ring0的函数来强行结束一些处于ring0级别的进程。 测试 我们首先打开PCHunter32.exe看一下,应用层是不能够访问的,我们知道可以在cmd里面使用taskkill命令来结束进程,但这种方式对ring0特权级别的程 阅读详情
#include <ntddk.h>

typedef  NTSTATUS  ( * PSPTERPROC) ( PEPROCESS Process , NTSTATUS ExitStatus );
PSPTERPROC MyPspTerminateProcess ;
NTSTATUS
PsLookupProcessByProcessId(
                        IN HANDLE ProcessId ,
                        OUT PEPROCESS * Process
                        );

void Unload( PDRIVER_OBJECT pDriverObj)
{
        DbgPrint( "Driver Stop /n ");
}

NTSTATUS DriverEntry( PDRIVER_OBJECT pDriverObj , PUNICODE_STRING pRegistryString)
{
        PEPROCESS hProcess;
        MyPspTerminateProcess =( PSPTERPROC) 0x805c8642;

        //比如冰刃的进程ID为1732
        if( PsLookupProcessByProcessId( 1732 , & hProcess) == STATUS_SUCCESS)
        {
                     MyPspTerminateProcess( hProcess , 0);
        }
        pDriverObj -> DriverUnload = Unload;
        return STATUS_SUCCESS;
}

-----------------------------------------------------------------------------
以上代码使用了系统未导出函数PspTerminateProcess结束了冰刃,
函数的地址是我用WinDbg看到的,所以可能在不同的系统里地址不同。

 

冰刃(IceSword)的使用方法(基础篇) 举个例子,比如你不能删除的文件是c:\windows\system32\下的1.sys,那么你可以在c:\建立一个记事本文件,里面随便打两个字母,保证文件大小不为0KB,修改其名称为1.sys,然后打开冰刃,选中新建立的c:\1.sys,在右键菜单中选择“复制”,然后打开复制对话框,选择病毒所在目录——c:\windows\system32\,然后输入文件名——1.sys,点复制,就可以了。在冰刃左面选择“文件”,按照上面的方法,选中要删除的文件所在的文件夹,找到要删除的文件。 阅读详情

相关推荐

基因家族快速鉴定指南:Windows平台下的HMMER实战解析

本文详细解析了在Windows平台下使用HMMER工具进行基因家族快速鉴定的完整实战流程。通过手把手指导,从软件获取、数据准备到模型构建与序列搜索,帮助生物信息学新手无需Linux环境,即可高效完成bZIP转录因子等家族的鉴定工作,大幅降低分析门槛。

weixin_29255731的博客 458

终于完成了Ring3下Call PspTerminateProcess

出差到现在都即将两个月了,无聊郁闷中,好在昨天晚上成功在Ring3下Call PspTerminateProcess总算是有一份值得高兴得事情了,目前还只支持XP,关于搜索PspTerminateProcess的特征码定位是参考了网络上的一篇文章.目前工作正在移植到DLL中封装成标准函数供VB等语言调用.现在冰刃也可以轻易被结束了^_^. 

chenhui530的专栏 2905

Simulink实战:火电机组一次调频与AGC协同控制建模与仿真解析

本文详细解析了如何使用Simulink进行火电机组一次调频与AGC协调控制的建模与仿真。通过系统架构设计、参数设置和模块实现,阐述了如何实现两者的协同控制,确保电网频率稳定。文章提供了实用的建模技巧、参数整定经验和性能评估方法,为电力系统仿真工程师提供了有价值的实践指导。

c7d8e9的博客 307

03 特征码搜索PspTerminateProcess函数、隐藏驱动模块

函数地址。

qq_50242229的博客 588

Aveva Marine C# 二次开发入门001

1# 引用 C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.dll C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.Presentation.dll 2# 引用命名空间, using Aveva.ApplicationFramework.Presentation;usi...

weixin_30245867的博客 1911

1020空心杯电机驱动设计与ESP32实战

空心杯电机是一种高动态响应的直流微特电机,其驱动本质是解决电感负载下的大di/dt启动、反电动势耦合与电流纹波抑制问题。核心原理在于建立包含内阻、电感和反电动势的等效电路模型,并据此匹配开关器件、PWM参数与采样闭环。技术价值体现在小体积下实现毫秒级响应、低噪声(>30kHz)、高精度电流保护(±50mA)及热鲁棒性。典型应用于微型航模、手持云台与精密执行器等对功率密度和动态性能敏感的嵌入式系统。本文以1020规格空心杯电机为对象,基于ESP32平台完成从MOSFET选型、32kHz硬件PWM生成到INA2

weixin_42298164的博客 582

进程强杀

应用层杀进程会调用terminateProcess,往下会调用zwterminateProcess,再往下 PsTerminateProcess->PspTerminateProcess->PspTerminateThreadByPoint->PspExitThread 所以我们想调用PspTerminateProcess(再往下就是线程函数了),但是未导出。所以只能暴力搜索...

kernweak的博客 1008

AgentScope 2.0 源码解析-工具系统解读:从内置工具到权限管控的完整实践

本文深入解析AgentScope 2.0工具系统的完整架构,覆盖内置工具集(文件读写、命令执行、搜索匹配)、MCP协议集成(STDIO/HTTP双传输、客户端封装、工作空间网关)、工具包管理与动态分组、权限引擎的多级决策机制(危险路径保护、只读识别、模式控制),以及自定义工具开发流程。通过分层架构图和时序图直观展示组件协作关系,结合安全最佳实践与故障排除指南,为开发者提供从工具使用到安全管控的全链路参考。

program哲学 567

05 常规3环和0环通信、驱动注册、运行、停止、卸载

常规3环和0环通信 0环代码 #include <ntddk.h> //函数声明 typedef NTSTATUS(_stdcall *_PsTerminateProcess)(PEPROCESS pEprocess,NTSTATUS ExitCode); _PsTerminateProcess pspTerminateProcess = NULL; //操作码:0x0-0x7FF 被保留,0x800-0xFFF 可用 #define KillAPPTOOL CTL_CODE(FILE_D

qq_50242229的博客 284

【小白深度教程 1.32】手把手教你从多视角图像进行 3D 重建(SfM 算法)

重建的目标是从一组照片中推导场景的几何结构,假设摄像机位置和内部参数是已知的或可以从图像集中猜测。 这是通过使用多个照片,在其中应用运动结构法(Structure from Motion,SfM)来解决像素级对应问题,部分地恢复3D信息来实现的。

2401_87064292的博客 2159

泰凌微8258入门教程——导读

基于泰凌微TLSR8258 Bluetooth® SIG Mesh 的入门系列教程

2万+

突破IceSword自身的进程保护

by xyzregIceSword的驱动对其自身进程做了保护,使恶意程序终止不了他。IceSword没有用HOOK SSDT的方法,不过也没用什么太BT的方法,而是Inline Hook了NtOpenProcess、NtTerminateProcess几个函数,即修改函数前5个字节,jmp到他自定义处理函数例程里。终止采用这类保护方法的进程,可以使用暴力的PspTerminateProcess

2343

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

5.内核空间与内核模块

0x5内核空间与内核模块 1.内核空间 对于低2G,每个进程是独立的,而高2G是共享的 如果在一个驱动中定义一个变量,然后能够在另一个驱动中进行读取,那就说明高2G确实是所有程序共用的! #include <ntddk.h> //卸载函数 VOID DriverUnload(PDRIVER_OBJECT driver) { DbgPrint("驱动程序停止运行了.\r\n"); } ULONG x = 0x12345678; //入口函数,相当于main NTSTATUS Driver

Mikasys的博客 497

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

两个强制结束进程的方法

这两个函数分别用于终止进程和线程,但由于未公开导出,需要通过逆向工程获取地址。

(*/ω\*) 1407

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

浅谈驱动中强制结束进程的3种方法

一个应用程序想要结束另一个进程所要做的事:首先获得目标的进程ID,接着利用OpenProcess获取进程句柄(确保足够权限),最后将句柄传给TerminateProcess了结那个进程. OpenProcess通过本机系统服务接口进入核心态,随后调用ntoskrnl的NtOpenProcess.在服务函数里,系统使用SeSinglePrivilegeCheck检查调用者是否有DEBUG权

少仲 7287

inline hook未导出函数PspTerminateProcess

之前inline Hook SSDT中的一些函数学,感觉比较容易,可是想hook一些未导出的函数时,却发现还有点难,开始是蓝了N次屏,最后HOOK成功了,用一些anti-rootkit的工具却查不出来,以为没成功.郁闷了好久,最后用windbg看,原来是成功,于是写下这篇文章,很多东西应该讲的不太好,还请矫正今天就是要inline hook PspTerminateProcess,这是一个没有被导

1778

【note】进程结束内幕

下午抽空看了PspTerminateProcess NTerminateProcess的实现。。。也更加理解了进程是个容器。。。线程是执行体的概念。。。。 note下流程: 在内部的调用流程 : psPTerninateProcess 1. 通过Eprocess得到 Ethread的列表 。。 2. 通过循环依次结束每个线程。。。调用PspTerminateThreadByPoin...

weixin_33742618的博客 145

PsTerminateProcess

唉,不可避免的需要写个driver,难到不难,就是懒。自从开始稳重的重学C++,重学MFC以来,重看了很多的架构方面的资料,顺便把.NET、Java也复习了复习,面向对象编程对于项目实施还是有很大的弊端。还是更习惯面向模块编程,即省力又来的实在,可以很好的控制各模块的进度。不过难点在于前期需要设计很完善的测试框架,模块完成丢进测试框架里面跑一圈,如果不符合项目需求分析的

陪咖啡喝女人 3182

冰刃初步使用图解(Win7 64位)

1 运行 运行,原来是胡哥所作;胡哥真是棒; 2 查看进程;多了EPROCESS列 每个进程都有一个 EPROCESS 结构,里面保存着进程的各种信息,和相关结构的指针。EPROCESS 结构位于系统地址空间,所以访问这个结构需要有ring0的权限。使用 Win2k DDK 的 KD (内核调试器)我们可以得到 EPROCESS 结构的定义。 3 查看驱动 可看到

bcbobo21cn的专栏 1万+

PsTerminateProcess结束进程

PsTerminateProcess函数用于结束一个进程,其声明如下 NTSTATUS NTAPI PsTerminateProcess(IN PEPROCESS Process, IN NTSTATUS ExitStatus) 其中第一个参数是PEPROCESS的指针,如果你只知道pid,可以通过PsLookupProcessByProcessId 获得,而第二个参数指定退出状...

weixin_30781433的博客 409

unix下批量进程的创建和强杀命令

说是原创其实大部分文字都是抄录别人的,真正原创莫怪,, 同时起多个“后台”进程的命令: #!/bin/bash # Author : mozhiyan # Copyright (c) http://see.xidian.edu.cn/cpp/linux/ # Script follows here: a=0 while [ $a -lt 10 ] do ./tt command&

liujiayu2的专栏 964
上一篇: API函数读写文件
下一篇: Windows内核函数的命名
sysprogram
博客等级 码龄17年 298粉丝 442原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值