E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Ring3
SSDT Hook实现内核级的进程保护
目录SSDTHook效果图SSDT简介SSDT结构SSDTHOOK原理Hook前准备如何获得SSDT中函数的地址呢SSDTHook流程SSDTHook实现进程保护
Ring3
与Ring0的通信如何安装启动停止卸载服务参考文献源码附件版权
dpsying
·
2015-04-02 01:00
linux用户态和内核态切换理解
linux用户态和内核态切换理解 Linux使用了
Ring3
级别运行用户态,Ring0作为内核态,没有使用Ring1和Ring2。
Ring3
状态不能访问Ring0的地址空间,包括代码和数据。
miscellanea
·
2015-01-08 13:00
fork
用户态
内核态
OllyDbg介绍
OLLYDBG是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,
Ring3
级调试器,非常容易上手,己代替SoftICE成为当今最为流行的调试解密工具了。
longma2006
·
2014-08-10 22:51
OllyDbg
驱动里执行应用层代码之KeUserModeCallBack,支持64位win7(包括WOW64)
byFanxiushu 引用或转载请注明原作者 2014-07-26在驱动层(ring0)里执行应用层(
ring3
fanxiushu
·
2014-07-26 20:00
windows
驱动开发
用户态,内核态的实现
(1)用户态和内核态的区别是什么,简单的来说就是程序编译之后的机器代码运行执行的权限的区别,内核代码据有最高的权限,对于x86的cpu,内核态运行在ring0级别,用户程序运行在
ring3
级别,那到底怎么让程序运行在
hao707822882
·
2014-07-16 00:00
Linux操作系统
内核态和用户态
虚拟化与云计算 - 读书笔记
刀片服务器第2章虚拟化概论服务器虚拟化的实现方式在x86体系结构中,处理器有4个运行级别,分别为Ring0、Ring1、Ring2和
Ring3
。其中,Ring0级别具有最高权限。现代操作系统
松江府
·
2014-06-17 09:00
挂钩 NtResumeThread 实现全局Hook
似乎Hook都被讲烂了,不论是
Ring3
的还是Ring0的网上都有例子。Ring0的毋庸置疑当然是全局的了,这里说说
ring3
的全局hook。
u013805103
·
2014-06-07 22:00
面向Windows的文件透明加解密解决方案(2)——概要设计
系统整体框架如图:采用三层架构,即服务器-客户端-驱动三层协调工作,驱动作为整个系统的核心,提供加密/解密功能,客户端作为辅助,在
ring3
层上对驱动进行管理,同时也是连接驱动与服务器的桥梁,服务器作为整个系统的指挥中心
wxyyxc1992
·
2014-05-31 10:00
windows
驱动
注册表
透明加解密
Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取
因为最近在学习《软件调试》这本书,看到书中的某个调试历程中讲了Windows的系统调用的实现机制,其中讲到了从
Ring3
跳转到Ring0之后直接进入了KiFastCallEntry这个函数。
lonelyrains
·
2014-05-05 11:00
Ring3
下实现进程保护,不用hook
今天在分析一款木马的时候,发现做了进程保护,没加驱动,也没做hook,能做进程保护,感觉非常奇怪,原来是这么一回事,mark一下吧!#include"stdafx.h" #include #include #pragmacomment(lib,"Advapi32.lib") BOOLRing3ProtectProcess() { HANDLEhProcess=::GetCurrentProc
SysProgram
·
2014-05-04 16:00
在
Ring3
上实现文件碎甲(解锁)功能
一.概述:如果一个病毒文件被植入正在运行的进程中,我们想要清除它时系统总会提供无法删除;有时编辑文件的进程被意外中止而文件句柄没有正确释放,导致此文件无法进行改写操作。现在我们会使用Unlocker之类的小工具去解锁,但在编写程序的可能会需要把这些功能包含在自己的代码中,本文就是自己写代码实现”如何关闭已经被加载的DLL或是正在使用的文件”功能,使用文章中的方法能很方便的完成文件解锁功能。按最初的
whatday
·
2014-04-28 11:00
Windows 驱动程序设计(一)
内核模式运行在Ring0层,用户模式运行在
Ring3
层。驱动程序是运行在内核层,其相当于windows内核的“补丁”,针对不同硬件设备会有不同的“补丁
无名大贝
·
2014-03-28 11:31
驱动
驱动学习总结
2、对SSDT、ShadowSSDT,内部的函数执行流程,由
Ring3
到Ring0层的各种函数调用关系都有深入了解。3、使用驱动处理PE头的各种信息。4、对驱动编程的框架,通信框架有了深入理解。
l0g1n
·
2014-03-02 17:00
《自己动手写操作系统》源码解析——第三章pmtest5.asm
一开始我们在实模式,是ring0,我们怎样从ring0到
ring3
,这个通过call和jmp没法做到,我们该通过什么方式实现?本文,主要是为你解答这些疑问,展现实现这种特权级别转移的方法。
trochiluses
·
2014-02-27 17:00
自己动手写操作系统
调用门
retf
特权级变换
堆栈变换
HookAPI通信
HookAPI通信:在
Ring3
与Ring0之间进行数据交互,我们都知道,在调用一个函数时,该函数会调用内核中对应的函数来实现相应的功能,在这里,我们选择一个具有缓冲区的函数来传输我们自己的数据,在这个函数调用内核层对应的函数时
l0g1n
·
2014-02-20 11:00
Ring3
HookApi
RING0
实现hook OpenProcess实现
ring3
保护进程、代码
/*********************************实现hookOpenProcess实现
ring3
保护进程、、C++完整代码、、****************************
许朝
·
2014-02-20 10:29
hook
Ring3
openprocess
实现简单的
ring3
进程保护、hook OpenProcess函数、简单分析
简单的HOOKOpenProcess函数、达到不让任务管理器使用OpenProcess来获取我们要保护的进程的句柄、从而达到使任务管理器使用TerminateProcess无法结束该进程的目的、、、当我们HOOK到OpenProcess的时候、我们要在自己的MyOpenProcess中、判断一下、所打开的进程是否为我们要保护的进程、如果是简单的返回错误码0、如果不是就在我们的MyOpenProce
许朝
·
2014-02-20 10:35
hook
任务管理器
OpenProcess函数
Windows下用户模式与内核模式
用户模式与内核模式从Intel80386开始,出于安全性和稳定性的考虑,该系列的CPU可以运行于ring0~
ring3
从高到低四个不同的权限级,对数据也提供相应的四个保护级别。
guoxiaoqian8028
·
2014-01-25 18:00
利用Detours STL MAP HOOK NT函数
Nt函数是在
Ring3
层最底层的函数了,选择此类函数进行Hook,是为了提高绕过门槛。我的Hook方案使用的是微软的Detours。
hczhiyue
·
2014-01-21 23:00
Ring3
下Hook API实现分析
Ring3
下HookAPI实现分析2011-01-1813:37 2175人阅读 评论(6) 收藏 举报hookapinulldescriptordllimport目录(?)
chenchong_219
·
2014-01-05 23:00
HOOK分类
1、HOOK分类:对于Hook技术,可以分为两块,第一块是在
Ring3
层的Hook,俗称应用层Hook技术,另外一块自然是在Ring0层得Hook,俗称为内核层Hook技术。
chenchong_219
·
2014-01-05 22:00
Windows内存体系结构
应用程序是在用户模式下(
Ring3
),驱动为内核模式(Ring0)。 (Ring0权限获取)二、CPU只能访问内存上的数据。所以当要访问地址空间的一个数据时,
pvlking
·
2014-01-03 16:00
VB6实现
Ring3
下直接调用Ring0层函数,反一切R3下API Hook。
接论坛帖子:http://topic.csdn.net/u/20120518/18/9a00ec5c-b3d1-4a1f-9bc1-ba1a47b52463.html例子应用如下。我只是给一个方法给大家,这个方法肯定很麻烦,有需求的人可以用。添加Module1[vb] viewplaincopyPrivate asm_CallCode() As Byte, KiFastSystemCall&, K
sdgaojian
·
2013-12-29 19:00
Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取 .
因为最近在学习《软件调试》这本书,看到书中的某个调试历程中讲了Windows的系统调用的实现机制,其中讲到了从
Ring3
跳转到Ring0之后直接进入了KiFastCallEntry这个函数。
wzsy
·
2013-12-27 11:00
应用层与驱动层同步事件处理方法
Ring3
与Ring0同步是很有用的手段,在此做一个简要的整理,希望对开发这方面程序的朋友有帮助,好了,开始吧。
jay900323
·
2013-11-20 15:00
Windows 中 FS 段寄存器
代码运行在RING0(系统地址空间)和
RING3
(用户地址空间)时,FS段寄存器分别指向GDT(全局描述符表)中不同段:在
RING3
下,FS段值是0x3B(这是WindowsXP下值;在Windows2000
飘雪超人
·
2013-11-06 13:00
Windows 中 FS 段寄存器
代码运行在RING0(系统地址空间)和
RING3
(用户地址空间)时,FS段寄存器分别指向GDT(全局描述符表)中不同段:在
RING3
下,FS段值是0x3B(这是WindowsXP下值;在Windows2000
whatday
·
2013-11-06 13:00
QQ密码框的那点破事
注:本文没有用到驱动来实现,也没有用到假界面这个方法,只是借助于WinDbg分析,代码是
Ring3
的,QQ版本是2011,版本号是1.65.2221.488即最
cosmoslife
·
2013-10-22 21:14
反汇编与逆向分析
调试技术
Inline Hook(
ring3
) 简单源码
很久之前写的,练手之用。#include#include#include#pragmacomment(lib,"psapi.lib")//BYTE Org_Code[7]; //备份dll法,因此就可以不需要BYTE New_Code[7];HMODULE hDllHandle = NULL; //被Hook的DLL句柄HANDLE hP
u013805103
·
2013-10-21 01:00
vc++实现
Ring3
全局HOOK
vc++实现
Ring3
全局HOOK收藏 /***********************************************************************/ /* 实现全局
u013805103
·
2013-10-21 01:00
挂钩 NtResumeThread 实现全局Hook
似乎Hook都被讲烂了,不论是
Ring3
的还是Ring0的网上都有例子。Ring0的毋庸置疑当然是全局的了,这里说说
ring3
的全局hook。
u013805103
·
2013-10-21 01:00
我的学习笔记之五——inline_HOOK完美篇(ring3_inline_EXE_hook_Messagebox完美篇)
2008-12-2512:50:30| 分类: 编程与电脑技术|字号 订阅以下内容转载自看雪标题: 【原创】
RING3
代码HOOK的原理实现(学习笔记1)作者: bzhkl时间: 2008-12-10,14
u013805103
·
2013-10-21 01:00
API拦截——实现
Ring3
全局HOOK
由于windows的copy-on-write机制(Ring0下可以用CR0寄存器关掉它),
Ring3
下的HOOK只对当前进程有效,其他进程的API还是正常的。
u013805103
·
2013-10-21 00:00
vc++实现
Ring3
全局HOOK
/***********************************************************************//*实现全局hook模块基本完工,测试通过,没有发现异常。 计划1:在hook前首先检验该程序是否已被hook 计划2:添加枚举进程并hook功能 计划3:在备份api时,只备份目标api函数,避免备份整个dll浪费空间 计划4:给my_E
u013805103
·
2013-10-11 17:00
从进程到内核---
ring3
到ring0
这次我们用中断来实现从
ring3
到ring0的跳转,当我们用中断门实现从
ring3
到ring0的转移时,会从TSS加载ring0的堆栈STACKR0,然后将调用者
ring3
的ss、esp压入新堆栈STACKR0
guocaigao
·
2013-10-10 13:00
一个简单的进程----跳到
ring3
进程都是工作的特权级
ring3
下的,如何跳到
ring3
呢?
guocaigao
·
2013-10-09 17:00
驱动中如何给
ring3
层应用程序提权
为什么会有这个需求就不用我多说了吧:)目前在驱动中提权我知道的有三种办法1.该方法来源于stonedbootkit,主要原理是把services.exe的EPROCESS中的Token值取出来,直接赋值给需要提权的应用程序,这种方法需要硬编码,并且有较大的机率蓝屏。主要是因为Token值会被释放和DeReference2.在进程创建时,使用ZwOpenProcess、ZwOpenProcessTo
cnbragon
·
2013-09-24 23:12
我的日记
获取当前进程/线程的ID、句柄和内核地址
获取当前进程/线程的ID、句柄和内核地址 在用户态(
RING3
)和内核态(RING0)下,获取这些值的函数是不同的,而且这些函数的实现原理也是不同的,下面做个小结: 1.用户态(
RING3
)下 2.内核态
whatday
·
2013-09-21 10:00
获取当前进程/线程的ID、句柄和内核地址
获取当前进程/线程的ID、句柄和内核地址 在用户态(
RING3
)和内核态(RING0)下,获取这些值的函数是不同的,而且这些函数的实现原理也是不同的,下面做个小结: 1.用户态(
RING3
)下 2.内核态
飘雪超人
·
2013-09-21 10:00
KeUserModeCallback用法详解
ing0调用
ring3
早已不是什么新鲜事,除了APC,我们知道还有KeUserModeCallback.其原型如下:代码:NTSTATUS KeUserModeCallback ( IN ULONG
whatday
·
2013-09-06 22:00
KeUserModeCallback用法详解
ing0调用
ring3
早已不是什么新鲜事,除了APC,我们知道还有KeUserModeCallback.其原型如下:代码:NTSTATUSKeUserModeCallback ( IN ULONG
飘雪超人
·
2013-09-06 22:00
VC++实现恢复SSDT
这个表就是一个把
ring3
的Win32API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。
飘雪超人
·
2013-09-04 10:00
VC++实现恢复SSDT
这个表就是一个把
ring3
的Win32API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。
whatday
·
2013-09-04 10:00
Olldbg常见问题
但平时调试的程序都是
Ring3
级,因此推荐大家用OllyDBG,这款工具上手容易,功能十分强大,现在论坛上的文章基本都是用OllyDBG来讲解的。Olldbg常见问题Q:OD中如何运行到光标所在处?
thanklife
·
2013-09-03 13:00
函数ZwQuerySystemInformation小结
NTDLL.DLL负责
ring3
与ring0之间的通信。当使用子系统方式进行系统调用的时候,ntdll.dll和SSDT会配合使用。
飘雪超人
·
2013-08-07 10:00
SSDT Hook实现内核级的进程保护
这个表就是一个把
Ring3
的Win32API和Ring0的内核API联系起来。SSDT并不
php_fly
·
2013-06-29 17:00
Ring3
转入Ring0跟踪
通过反汇编跟踪一个API函数从
Ring3
层到Ring0层的具体执行过程,有助于我们加深对相关内核Hook技术的理解。
php_fly
·
2013-06-26 16:00
内核
Linux 内核态与用户态
用户态:
Ring3
运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/
xifeijian
·
2013-06-12 22:00
linux
用户态
内核态
核心态
内核态与用户态
Ring0级别最高,
Ring3
最低。其中特权级0(Ring0)是留给操作系统代码,设备驱动程序代码使用的,它们工作于系统核心态;而特权极3(
Ring3
)则给普通的用户程序使用,它们工作在用户态。
QuitePig
·
2013-06-11 15:00
SSDT
这个表就是一个把
ring3
的Win32API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。通过修改此
·
2013-05-06 13:00
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他