驱动学习
文章平均质量分 57
ccx_john
这个作者很懒,什么都没留下…
展开
-
一步一步教你写DOTA外挂
好久木有研究DOTA了,整理篇小菜文章。首先,我们要提升外挂本身程序权限,使其能够有权限修改war3游戏的内存。这个c++可以使用如下代码[cpp] view plaincopyprint?void EnableDebugPriv()//提升程序自身权限 { HANDLE hToken; LUID sedebugname转载 2014-03-04 15:39:04 · 2172 阅读 · 2 评论 -
在WinDBG中设置断点的命令
转自:http://www.cnblogs.com/awpatp/archive/2011/01/02/1924085.html命令==========~0 bp 02sample!KBTest::Fibonacci_stdcall "r esp"在零号线程上的KBTest类的Fibonacci_stdcall函数上设置断点, 并且在触发断点时执行"r esp"转载 2014-01-10 12:48:17 · 734 阅读 · 0 评论 -
WinDBG命令概览
转自: http://www.cnblogs.com/awpatp/WinDBG的大多数功能是以命令方式工作的, 本系列将介绍WinDBG的三类命令, 标准命令, 元命令和扩展命令.===============标准命令===============标准命令用来提供适用于所有调试目标的基本调试功能.所有基本命令都是实现在WinDB转载 2014-01-10 12:47:35 · 614 阅读 · 0 评论 -
内核级利用通用Hook函数方法检测进程
作者: 51cto CNETNews.com.cn 2007-10-27 14:55:55 在系统内核级中,MS的很多信息都没公开,包括函数的参数数目,每个参数的类型等。在系统内核中,访问了大量的寄存器,而很多寄存器的值,是上层调用者提供的。如果值改变系统就会变得不稳定。很可能出现不可想象的后果。另外有时候对需要Hook的函数的参数不了解,所以不能随便就去改变它的堆栈转载 2014-01-08 09:25:08 · 680 阅读 · 0 评论 -
分析了一下360安全卫士的HOOK
分析了一下360的HOOK,通过直接hook KiFastCallEntry实现对所有系统调用的过滤。我分析的版本如下:主程序版本: 6.0.1.1003HookPort.sys版本: 1, 0, 0, 1005HookPort.sys的TimeStamp: 4A8D4AB8简单说明:360把所有被hook的系统服务的过滤函数放在了一个表里,索引即对应的系统服务在该过滤函数表中转载 2014-01-07 12:26:32 · 1108 阅读 · 0 评论 -
在驱动中判断系统是否运行在安全模式
方法一: 通过内核导出的变量。Windows 内核导出了一个变量.一个 ULONG 类型的指针.InitSafeBootMode .用于确定系统运行于何种模式下.驱动程序可以用这个导出的变量来判断系统当前处于何种模式下.下列是关于这个变量的一些取值的说明:Value Mode0 The operating system is not in Safe Mode.1 SAFEBOOT_MI转载 2013-11-14 12:00:04 · 1242 阅读 · 0 评论 -
_EPROCESS
下面的一部就是向WIN32子系统传递信息,包括新建的进程线程句柄。创建标志中的项以及ID和确认其属于WIN32应用程序的标志。后面就是初始化线程并完成整个进程的初始化。这个过程中,需要详细说明的就是设置EPROCESS结构(也叫KPEB)。每个Windows 2000进程都由一个执行程序进程(EPROCESS)块表示,也就是说在内核中,进程是靠EPROCESS来识别的.下面是EPROCESS的转载 2013-11-14 11:58:22 · 1302 阅读 · 0 评论 -
反病毒引擎设计之实时监控篇
编者按:绪论《反病毒引擎设计之虚拟机查毒篇》我们重点对虚拟机查毒进行了阐述。下面看看如何对病毒实时监控。目录 3.1实时监控概论3.2病毒实时监控实现技术概论3.3WIN9X下的病毒实时监控3.3.1实现技术详解3.3.2程序结构与流程3.3.3HOOKSYS.VXD逆向工程代码剖析3.3.3.1钩子函数入口代码3.3.3.2取得当前进程名称代码转载 2013-11-11 13:41:22 · 3460 阅读 · 0 评论 -
RootKit hook之[一] Object Hook
标 题: 【转】objectHook简单介绍作 者: ggdd时 间: 2011-01-15,13:13:20链 接: http://bbs.pediy.com/showthread.php?t=128161其实这东西很多大牛多玩腻了的东西,看下论坛上比较少这类的,就来献献丑,科普一下 大牛们直接可以飘过,这东西主要是自我复习一下OBJECT的一些知识,技术这东西久了不转载 2013-10-26 14:12:13 · 681 阅读 · 0 评论 -
ShadowWalker1.0学习笔记4 ——Hook IDT
//Hook & Unhook IDT//俩函数,位于idtHook.cpp中。//功能就是根据中断号Hook/Unhook IDTstructIDT_GATE{ unsignedOffsetLo :16; //bits 15....0 unsignedSelector :16; //segment s转载 2013-10-26 14:09:15 · 808 阅读 · 0 评论 -
Windbg本机调试kernel
File-> kernel debug -> 弹出窗口上方,最右边那个选项卡Local ->点yes 即可系统必须是:WIN XP或以上的操作系统,其他都不行接下来就可以调试kernel了。Windbg命令很多,我将一点一点的学习,下面先学几个常用的命令。1.version获取本机windows的kernel信息,如下:lkd> versionWindo转载 2014-01-10 09:58:56 · 955 阅读 · 0 评论 -
Hook过滤架构搭建,仿照360(转)
http://bbs.pediy.com/archive/index.php?t-116033.html仿照了下360 的过滤架构,搭建了个Hook 框架,360的Hook架构的确很优秀,我觉得很值得我们学习与研究。这里我按照大牛们已经逆向出来的思路实现了下代码(都逆向出来了坐下代码工作不会怎么样吧?….只是学习架构)。不要鄙视我等代码工………,好吧大牛们想BS就BS吧,我表示毫无压力~~转载 2014-01-09 20:44:58 · 974 阅读 · 0 评论 -
QQ2011多开的实现
先运行一个客户端A,然后再打开一个客户端B,发现直接激活前一个实例。我们开着客户端A,OD加载再一个客户端F8单步走,发现跟到这个CALL的时候激活客户端A了,在这个CALL下断,CTRL+F2重新载入一下,F9运行断下来,执行到这个CALL我们F7跟进去然后F8再单步走,发现执行到这个CALL时又会激活客户端A,同样下断重新载入跟进去,在这里面我们F8继续单步跟,在这里单转载 2014-03-04 15:31:52 · 574 阅读 · 0 评论 -
重载内核全程分析笔记
标 题: 【原创】重载内核全程分析笔记作 者: Speeday时 间: 2013-08-20,20:19:46链 接: http://bbs.pediy.com/showthread.php?t=177555还记得七夕的那几天,老V率先把AGP的源码发布出来,然后是EasyDebugger的源码出土,后面陆续有很多大牛把珍藏已久的代码拿出来晒太阳,那段疯狂的日子,让看雪论坛都面转载 2014-03-04 17:24:29 · 677 阅读 · 0 评论 -
热血江湖V60000喊话
1. 喊话CALL查找思路:在聊天窗口输入一段文字,在CE中扫描这段文字的内容,wwh Evil0r 区分大小写,最终找到两个地址,一个是编辑框里面显示的内容,一个是真正喊话的内容查找访问编辑框内容(因为喊话肯定要读取这个编辑框的内容):4403a9 OD进入分析,转到该地址下断,游戏中输入喊话内容在OD中断下来,往下拉可以看到有个call,代码注入器测试,成功喊话转载 2014-03-04 15:35:00 · 743 阅读 · 0 评论 -
多开限制的原理
1.创建新节法 为程序加入一个全局变量,让这个全局变量可以被程序的多个实例所共享,每当程序实例运行时就对该全局变量进行修改。通过访问该全局变量,就可以知道有多少个实例在运行了。当然,为了系统的安全和稳定性,默认情况下是不允许这样做得。为了阻止这种事情的发生,系统使用了copy-on-write(写入时拷贝)机制,不过我们可以使用创建新节的方法来绕过它。1.创建节[转载 2014-03-04 15:37:41 · 1532 阅读 · 0 评论 -
过QQ游戏大厅的SX保护
早些时间看郁金香的教程,写过qq游戏练练看的挂,那时候CE附加QQ游戏大厅的时候貌似是没有任何保护的,昨天舍友让做个斗地主的记牌器,但是,我用CE附加的时候,被检测到了,其实不附加也会被检测,所以猜测可能只是检测窗口进程或是模块名称啥的吧,被检测到的时候主程序会退出,但是那个对话框还在,就是那个SX什么什么的,所以如果是QQgame启动了某个线程来检测非法的话,在主程序退出其他线程对象都释放掉的时转载 2014-03-04 15:30:00 · 877 阅读 · 0 评论 -
做了个隐藏进程跟保护进程的小工具
只支持1.24E,因为我们局域网都玩这个版本。。。以后可能会加入对其他版本的支持1.改键是用低级键盘钩子写的,以后会加入保存英雄改键记录功能,类似溪流的warKey。2.显蓝用的是别人的DLL3.踢人还是HOOK SEND4.全图就是写地址呗。。。源码完善后放出,另外没测试平台,应该过不鸟。。。转载 2014-03-04 15:40:14 · 2236 阅读 · 1 评论 -
关于SSDT HOOK取消内存写保护的问题
有些人说不去掉也不会蓝屏,照样能HOOK成功确实,我当时也是这样过。。。不过拿给别人机器一测试就蓝了网上找到了MJ给出的答案:当使用大页面映射内核文件时,代码段和数据段在一块儿,所以页必须是可写的,这种情况下直接改是没有问题的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memor转载 2014-03-04 15:41:05 · 940 阅读 · 0 评论 -
多开限制突破
1.Findwindow突破 bp FindWindowW,运行程序断下来,执行到返回,来到下面[cpp] view plaincopyprint?004F0E5C 8BF4 mov esi,esp 004F0E5E 68 B8466A00 push FindWind.006A46B8转载 2014-03-04 15:36:33 · 4187 阅读 · 0 评论 -
如何将WinDBG中命令的输出保存到文本文件中
转自:http://www.cnblogs.com/awpatp/从本质上说, 这个功能是WinDBG的日志功能的一个应用而已. WinDBG的log功能可以记录你在WinDBG中使用的每一个命令以及其对应的输出.那么如何开启WinDBG的日志功能呢?首先, 可以选择从命令行中启动WinDBG. 举例, 使用下面的带有-logo参数的命令:windbg.exe -l转载 2014-01-10 12:47:59 · 641 阅读 · 0 评论 -
完全过TP源码(转)
标 题: 【原创】散谈游戏保护那点事~就从_TP开始入手吧作 者: crazyearl时 间: 2010-12-20,02:37:22转载链 接: http://bbs.pediy.com/showthread.php?t=126802声明:本文只为研究技术,请所有童鞋切勿使用本文之方法做下那天理难容罪恶不舍之坏事。 既是研究游戏保护,那么总要有一个研究转载 2013-10-26 14:01:24 · 4017 阅读 · 0 评论 -
过HS多开源码
//-然后发一个过HS多开的,方法很简单也很烂。本来想直接HOOK KiFastCallEntry改几个函数,让r3可以直接注入的,但是发现在加载HS后那样会直接重启,估计int 2E被xxx了。下面是CODE:#pragma once#ifndef DUOKAI_H#define DUOKAI_H#ifndef __cplusplusextern "C"{#endi转载 2013-10-26 13:59:47 · 1574 阅读 · 0 评论 -
NTSTATUS values
By combining the NTSTATUS into a single 32-bit numbering space, the following NTSTATUS values are defined. Most values also have a defined default message that can be used to map the value to a human-转载 2013-10-17 09:31:59 · 7599 阅读 · 0 评论 -
简单实现了下SSDT SHADOW HOOK
介绍: SSDT SHADOW HOOK可用于安全软件窗口保护、安全输入、截屏保护等。例如:挂钩NtUserFindWindowEx、NtUserGetForegroundWindow、NtUserBuildHwndList、NtUserQueryWindow、NtUserWindowFromPoint、NtUserSetParent、NtUserPostMessage、NtUs转载 2013-10-17 08:46:10 · 1492 阅读 · 0 评论 -
【原创】分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!
标 题: 【原创】分享比较完整的ROOTKIT DEMO! 原来Shadow Hook和SSDT Hook一样容易!作 者: embedlinux时 间: 2008-08-05,23:37:05链 接: http://bbs.pediy.com/showthread.php?t=70083这里写的ROOTKIT比较简单(有些代码是消化别人的代码后改写过来的),高手跳过.....转载 2013-10-16 16:22:17 · 1096 阅读 · 0 评论 -
Shadow Hook实现网络安全打印监控
如何实现对打印的监控,微软提出的一种解决方案就是时刻检测放到打印队列中的打印任务,发现有任务出现,就从中筛选出来提供给调用者。对此功能的实现,微软的确公开了一套完整的代码,并且能够实现我们基本想要的功能,但是在实现功能之余,我又进行了更深一层的研究和测试,通过Hook win32k.sys内的打印相关的4个函数就完美地实现了打印监控功能。我们先分析一下当系统完成一次打印任务需要调用的几个核心函转载 2013-10-16 16:21:18 · 1705 阅读 · 1 评论 -
紫陌:键盘过滤之内核级Hook
Hook分发函数 前一篇文章讲述了进行键盘过滤,截取用户输入的方法。本篇文章开始更加深入地讨论键盘的过滤与反过滤对抗。无论是过滤还是饭过滤,原理都是过滤,取胜的关键在于谁第一个得到信息。 一种方发是Hook分发函数,即将键盘驱动的分发函数替换成自己的函数用来达到过滤的目的。 1.获得类驱动对象 首先要获得键盘类驱动对象,才能去替换下面的分发函数。这个操作较为简单,因转载 2013-10-13 14:28:05 · 1041 阅读 · 0 评论 -
又一个问题代码,引用的是IamRainLiang朋友的代码,居然调试不通过,怪闷的。
<br />又一个问题代码,引用的是IamRainLiang朋友的代码,居然调试不通过,怪闷的。<br />http://blog.csdn.net/iamrainliang/archive/2008/01/25/2065572.aspx<br /> <br /> <br />#define MAX_PROC_NAME_LEN 256<br />#pragma INITCODE<br />BOOLEAN EnumProcessList2()<br />{<br /> PEPROCESS cur原创 2011-04-16 13:15:00 · 2619 阅读 · 2 评论 -
Ring3程序控制驱动实现指定进程的键盘过滤
刚学驱动不久,还只是个粗成品,能运行,有兴趣的朋友可以试下,大牛就飘过了:Ring3程序:当Notepad.exe(记事本)运行时,就向驱动发送启动命令内核驱动程序:收到控制码,就启动键盘过滤,并将获取的按键转化成字符,保存到C:/1.log文件中.可以试下,把记事本关掉,再次运行Ring3程序,这时无论怎么按键,驱动程序都不会记录键盘按键了。用到的工具:Drivermon,DbgView,cmd.exe,附件:原创 2011-04-26 13:51:00 · 853 阅读 · 0 评论 -
windbg中"Your debugger is not using the correct symbols"问题解决方法
<br />lkd> .sympath SRV*D:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols<br />Symbol search path is: SRV*D:/WINDOWS/Symbols*http://msdl.microsoft.com/download/symbols<br />lkd> !sym noisy<br />noisy mode - symbol prompts on<br />lkd> !lmi nt<b转载 2011-04-17 18:04:00 · 3534 阅读 · 1 评论 -
对于DEVOBJ_EXTENSION 自定义结构的疑问
这是NTDDK.h中的原型:typedef struct _DEVOBJ_EXTENSION { CSHORT Type; USHORT Size; // // Public part of the DeviceObjectExtension structure, // PDEVICE_OBJECT DeviceObject; // owning device object} DEVOBJ_EXTENS原创 2011-04-18 15:12:00 · 1717 阅读 · 1 评论 -
winxp下简单实现注册表修改、进程创建监控
标 题: 【原创】winxp下简单实现注册表修改、进程创建监控作 者: 默数悲伤时 间: 2006-09-24,10:50:06链 接: http://bbs.pediy.com/showthread.php?t=32369原本想写个监控所有进程的注册表添加的程序,但是在进行到快结束的时候,发现在我们平时的操作中注册表操作太多了,过多的报警,反而觉得不好.最终是列出所有进程列表转载 2013-10-17 10:12:32 · 852 阅读 · 0 评论 -
写一个SSDTShadow Hook
我本菜鸟,班门弄斧之辈,大牛不要笑话。以下程序名称为BugHook,是在Win7sp1X64上对SSDTShadow::NtUserFindWindowEx进行Hook:1234567891011121314151617181920212223242526转载 2013-10-18 15:43:40 · 1173 阅读 · 0 评论 -
另一种简便的Ring0恢复SSDTShadow主要源码
//Ring0恢复SSDTShadow主要源码 By VirusWizard//主要思路和恢复SSDT是一样的。不多说了NTSTATUS GetOrigShadowTable( ){ NTSTATUS status = STATUS_UNSUCCESSFUL; HANDLE hFile = 0;转载 2013-10-26 14:10:21 · 692 阅读 · 0 评论 -
过HS保护(OD,CE)
//---------------------------------------.只贴部分代码,大多都是小技巧没什么特别的地方。//------------------xxxx.h#define PAGEDCODE code_seg("PAGED")#define LOCKEDCODE code_seg()#define INITCODE code_seg("INIT")转载 2013-10-26 14:02:45 · 3292 阅读 · 0 评论 -
在驱动中操作注册表
注册表是Windows的核心,日常的许多操作其实最终都是转化成了对注册表的操作,在ring3我们就经常利用注册表达到一些简单而特殊的效果,例如实现自启动等。到了ring0,有关注册表的操作更加频繁,在ring0我们主要使用Zw系列函数,与ZwCreateKey、ZwDeleteKey等。 除此之外,DDK还提供了一系列以Rtl开头的运行时函数,它们可以是对Zw系列函数的封装,可以有效地简转载 2013-10-26 13:56:20 · 1318 阅读 · 0 评论 -
Rootkit hook之[三] Inline Hook
标 题: 【原创】rootkit hook之[三] inline hook作 者: combojiang时 间: 2008-01-30,17:27:57链 接:http://bbs.pediy.com/showthread.php?t=59127最近为了写好rootkit inline hook篇,特意A了著名的流氓软件(cdnprot.sys),这个文件很庞大,有152k转载 2013-10-26 14:17:25 · 666 阅读 · 0 评论 -
Hide Your SSDT HOOK
原始出处:http://www.rootkit.com/newsread.php?newsid=922信息来源:0GiNr,零下安全 信心无限文章作者:xrayn译文作者:wangweinoo1译者声明:本译版首发于0GiNr,后由wangweinoo1极小规模修改后发于EST,转载请保持信息完整文章目录:0.前言(Preface)by wangweinoo11.目转载 2013-10-26 13:59:08 · 914 阅读 · 0 评论 -
读取文件和注册表句柄信息
在编写驱动进行HOOK的时候,我们经常会需要从某参数获取相关信息,最常见的就是从进程、文件、注册表句柄中获取相关路径以进行相关保护。其中关于从进程句柄获取信息的方法我已经在《SSDT HOOK实现进程保护》一文中给出了方法,今天我们就给出文件和注册表句柄的处理方法。 下面首先看通过HOOK ZwSetInformationFile保护文件防删除的方法,这个函数的第一个参数File转载 2013-10-26 13:55:36 · 1251 阅读 · 0 评论