- 博客(18)
- 资源 (6)
- 收藏
- 关注
原创 栈回溯法的一个例子
代码转自看雪论坛【驱动防火墙的一个例子】,直接复制过来的,看起来比较乱,不过还是很容易看懂的看了几个例子,一般都是在ExAllocatePoolWithTag这里挂钩啊,根据MemoryTag来判断,以后再发现发现有没有更精准的挂钩位置#include #include #include #include #include "MmLoadSystemImage.h"#defi
2010-12-22 16:52:00
2623
原创 代码这样写奇丑无比...编码前期要做好规划工作啊
<br />NTSTATUS ScDetective_DispatchDeviceControl( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ){ NTSTATUS ntStatus = STATUS_SUCCESS; PVOID InputBuffer = NULL; PVOID OutputBuffer = NULL; ULONG
2010-12-22 16:46:00
775
原创 文件过滤驱动-隐藏目标文件
代码是精简了sfilter中的代码,其实不如直接用寒江独钓里面的方法把sfilter编译成静态库#include #include #include "ScDetectiveFilter.h"PDRIVER_OBJECT pdoGlobalDrvObj = NULL;PDEVICE_OBJECT pdoGlobalDeviceObject = NULL;LIST_ENTRY pdo
2010-12-22 16:38:00
1329
原创 两种方法获取shadow ssdt
<br />ULONG GetShadowSsdtCurrentAddresses( PSSDT_ADDRESS AddressInfo, PULONG Length ){ PSYSTEM_SERVICE_TABLE KeServiceDescriptorTableShadow = NULL; ULONG NumberOfService = 0; ULONG ServiceId = 0; PKAPC_STA
2010-12-22 16:28:00
1949
2
原创 多核发dpc安全inline hook
VOID OpSafeInlineHook(PVOID TargetAddress, PVOID ReadyOpCode, ULONG OpCodeLength){ PMDL MdlFuncAddress; ASSERT(TargetAddress && ReadyOpCode && OpCodeLength); if (ScmMapVirtualAddress(T
2010-12-22 16:23:00
1848
原创 无用的,ring0暴力枚举进程模块
<br />//////////////////////////////////////////////////////////////////////////VOID ListModuleThread(PVOID Context){ NTSTATUS ntStatus = STATUS_UNSUCCESSFUL; ULONG StepAddress; ULONG Step2Address; ULONG BufferSize = 0x200; U
2010-12-22 16:17:00
1283
原创 Native API -- ScOpenProcess
好久没写日志了,实在是没有时间啊!写日志也成了浪费时间,无奈啊! 最近研究了下如何用 Native API 打开指定进程,从而实现根据 PID 来返回进程句柄,从而达到内存填 0 来查杀进程的目的!下面贴出来代码,当然参考了很多大牛的代码:HANDLE __stdcall ScOpenProcess(DWORD dwDesiredAccess, BOOL bI
2010-05-28 15:49:00
1546
原创 Win32汇编--- Spy--(功能还未完善)
发现很久没写日志了,也发现自己以前写的东西真的没点技术含量!主要是因为底子薄,不敢出来露怯,怕广大同志们所为不齿。这次的东西稍微有点技术,因为涉及了钩子,因为涉及了一些底层的API。程序的主要功能如下: 获取鼠标所在位置窗口的句柄以及类名 激活一些应用程序的灰化按钮 拦取鼠标信息,钩子名称是WH_MOUSE,不同的钩子涉及到不同的钩子信息:WH_MOUSE :n
2010-03-30 15:57:00
819
原创 Win32汇编---控件的超类化感想
对于窗口的子类化相信大家并不陌生:基于某一个控件功能,用窗口子类化来实现我们想要的功能!由于控件的封装,我们无法对它进行直接操作修改,但是我们可以截获windows给控件过程发送的消息,从而达到控制控件窗口的目的!对于单个控件的子类化,并不费事,但是我们如果要注册多个这样的控件就麻烦了,于是产生了超类化的思想。可以用GetClassInfoEx()来获取现存类的属性,然后修改结构的内容,
2010-03-14 23:46:00
841
原创 Win32汇编---浏览目录对话框
这是我做的最晕的一个例子,演示的是“浏览目录对话框”。之所以晕是因为要用到了COM库函数,而以我的程度,对于COM技术肯定一窍不通的!还好老罗的代码中提供了两个COM的接口,可以直接拿来调用。可是我对于其中是如何运作的琢磨不透……虽然浏览对话框也是通用控件,但是windows并不是在Comdlg32.dll提供的,而是在Shell32.dll中!截图如下: 主程序框架并不复杂,主要功能
2010-03-12 21:23:00
1107
2
原创 Win32汇编---在windows的Notepad上"画"字
在汇编通讯上看了一篇关于在Notepad上写字的程序,感觉很有趣,于是把程序改进了下。程序首先是利用FindWindow()函数来寻找Notepad的句柄,用SetTimer()每秒触发一次绘图事件,在强制打开的记事本上绘字,具体截图如下:功能都是在控制台下实现的,方便与测试。实验的源代码如下: ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2010-03-05 23:35:00
1129
1
原创 Win32汇编---实现桌面时钟(有托盘图标)
忙了两三天的空余时间,终于把桌面时钟程序完成了,功能也是比较粗糙的。众所周知的,汇编写程序容易造成代码膨胀,本程序光代码就用了465行,对于我来说也算是不少了……除了实现一些基本功能外,我还为程序实现了在托盘显示的功能。关于实现该功能,当然是费了不少时间,首先要感谢lczelion,他的理论支持下,让我知道了该如何去调用API,以及注意事项。主要还是windows外壳函数Shell_Notif
2010-03-03 15:42:00
2392
2
原创 Win32汇编---对话框资源的综合应用
这个实验中基本上把改用的对话框资源都用上了,GROUPBOX, AUTOCHECKBOX,COMBOBOX,EDITTEXT,TEXT,SCROLLBAR,PUSHBUTTON...一开始对于控件的位置可能把握不好,但是我想先把一些基本组件的特征写出来,位置,大小都设置为0,保存为RC文件,然后用编译成RES文件,用VC++6.0来编辑这些控件,把位置,大小都弄成合适的大小,保存。也可以另存为一份
2010-03-02 16:43:00
1330
原创 OEP入口的特征
OEP入口的特征 入口特征............Microsoft Visual C++ 6.0push ebpmov ebp, esppush -1push 004C0618push 004736F8 mov eax, dword ptr fs:[0]push eaxmov dword ptr fs:[0], espsub
2010-01-07 23:48:00
3414
2
原创 贪心算法--Dijkstra单源最短路径
今天兴致勃勃的开始做了贪心算法的第一道题目:Single-Source Shortest-Paths Problem也就是所谓的单源最短路径,课件上有算法,但是代码实现起来还真是不容易(仅仅对于我这个菜鸟来说),下面是算法框架: 设S为最短距离已确定的顶点集(看作红点集),V-S是最短距离尚未确定的顶点集(看作蓝点集)。①初始化 初始化时,只有源点s的最短距离是已知的(D(s)=0),
2009-12-23 00:21:00
3342
1
原创 C++实现快速排序算法QuickSort()
算法基本思想:第一步:教官面对一列无序的队伍,他指着最右边的一个人A说:“比他高的站他右边,比他矮的站他左边。”完成之后,队伍被他分割成了两列,第一列:比A矮的在A的左边;第二列:比A 高的在A 的右边。第二步:他首先处理第一列,指着在A的左边的一个人B(也就是第一列中的最右边的一个人)说到:“比B高的站他右边,比B矮的站他左边”。这样完成之后,第一列又他成了两列。同样的方法处理第二列,第二列
2009-12-09 15:29:00
1991
原创 C++ 实现MergeSort算法
算法思想:假设有两个人,每人手里都有一部分牌,而且每个人手中的牌都按大小顺序排列好了。那么,现在要把两个人手中的牌合并到一起,并且合并后要从小到大依次排好,可以这样做:每个人都从手中拿出最小的牌,然后比较,谁的牌小就把该张牌放在桌面上,牌大的一方牌仍然拿在手中,待下次再比较。下一次每个人又拿最小的牌进行比较,如此下去。。。直到一方手中的牌全部放在了桌面上,这时另一方就可以把牌按从小到大的顺序全
2009-12-08 22:26:00
1485
原创 组合键 扫描码
规律:键盘从左到右,从上到下; KBXXXX Alt-Letter Key Codes; Constant ValueKBAltA EQU 1EHKBAltB EQU 30HKBAltC EQU 2EHKBAltD EQU 20HKBAltE EQU 12HKBAltF EQU 21HKBAltG
2009-12-06 17:31:00
1106
数据库系统实验(含答案)
2010-05-04
Visual Assist X v10.5.1715
2010-03-24
MyCCL V2.1
2010-01-10
Windows Via C C++(windows核心编程)
2010-01-10
中文 win32 API 手册
2009-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人