自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kedebug

移居博客园:www.cnblogs.com/kedebug

  • 博客(18)
  • 资源 (6)
  • 收藏
  • 关注

原创 栈回溯法的一个例子

代码转自看雪论坛【驱动防火墙的一个例子】,直接复制过来的,看起来比较乱,不过还是很容易看懂的看了几个例子,一般都是在ExAllocatePoolWithTag这里挂钩啊,根据MemoryTag来判断,以后再发现发现有没有更精准的挂钩位置#include #include #include #include #include "MmLoadSystemImage.h"#defi

2010-12-22 16:52:00 2596 1

原创 代码这样写奇丑无比...编码前期要做好规划工作啊

<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 749

原创 文件过滤驱动-隐藏目标文件

代码是精简了sfilter中的代码,其实不如直接用寒江独钓里面的方法把sfilter编译成静态库#include #include #include "ScDetectiveFilter.h"PDRIVER_OBJECT pdoGlobalDrvObj = NULL;PDEVICE_OBJECT pdoGlobalDeviceObject = NULL;LIST_ENTRY pdo

2010-12-22 16:38:00 1292

原创 两种方法获取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 1915 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 1821

原创 无用的,ring0暴力枚举进程模块

<br />//////////////////////////////////////////////////////////////////////////VOID ListModuleThread(PVOID Context){ NTSTATUS ntStatus = STATUS_UNSUCCESSFUL; ULONG StepAddress; ULONG Step2Address; ULONG BufferSize = 0x200; U

2010-12-22 16:17:00 1256

原创 Native API -- ScOpenProcess

        好久没写日志了,实在是没有时间啊!写日志也成了浪费时间,无奈啊!        最近研究了下如何用 Native API 打开指定进程,从而实现根据 PID 来返回进程句柄,从而达到内存填 0 来查杀进程的目的!下面贴出来代码,当然参考了很多大牛的代码:HANDLE __stdcall ScOpenProcess(DWORD dwDesiredAccess, BOOL bI

2010-05-28 15:49:00 1514

原创 Win32汇编--- Spy--(功能还未完善)

发现很久没写日志了,也发现自己以前写的东西真的没点技术含量!主要是因为底子薄,不敢出来露怯,怕广大同志们所为不齿。这次的东西稍微有点技术,因为涉及了钩子,因为涉及了一些底层的API。程序的主要功能如下: 获取鼠标所在位置窗口的句柄以及类名 激活一些应用程序的灰化按钮 拦取鼠标信息,钩子名称是WH_MOUSE,不同的钩子涉及到不同的钩子信息:WH_MOUSE :n

2010-03-30 15:57:00 807

原创 Win32汇编---控件的超类化感想

 对于窗口的子类化相信大家并不陌生:基于某一个控件功能,用窗口子类化来实现我们想要的功能!由于控件的封装,我们无法对它进行直接操作修改,但是我们可以截获windows给控件过程发送的消息,从而达到控制控件窗口的目的!对于单个控件的子类化,并不费事,但是我们如果要注册多个这样的控件就麻烦了,于是产生了超类化的思想。可以用GetClassInfoEx()来获取现存类的属性,然后修改结构的内容,

2010-03-14 23:46:00 801

原创 Win32汇编---浏览目录对话框

这是我做的最晕的一个例子,演示的是“浏览目录对话框”。之所以晕是因为要用到了COM库函数,而以我的程度,对于COM技术肯定一窍不通的!还好老罗的代码中提供了两个COM的接口,可以直接拿来调用。可是我对于其中是如何运作的琢磨不透……虽然浏览对话框也是通用控件,但是windows并不是在Comdlg32.dll提供的,而是在Shell32.dll中!截图如下: 主程序框架并不复杂,主要功能

2010-03-12 21:23:00 1086 2

原创 Win32汇编---在windows的Notepad上"画"字

在汇编通讯上看了一篇关于在Notepad上写字的程序,感觉很有趣,于是把程序改进了下。程序首先是利用FindWindow()函数来寻找Notepad的句柄,用SetTimer()每秒触发一次绘图事件,在强制打开的记事本上绘字,具体截图如下:功能都是在控制台下实现的,方便与测试。实验的源代码如下: ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

2010-03-05 23:35:00 1109 1

原创 Win32汇编---实现桌面时钟(有托盘图标)

忙了两三天的空余时间,终于把桌面时钟程序完成了,功能也是比较粗糙的。众所周知的,汇编写程序容易造成代码膨胀,本程序光代码就用了465行,对于我来说也算是不少了……除了实现一些基本功能外,我还为程序实现了在托盘显示的功能。关于实现该功能,当然是费了不少时间,首先要感谢lczelion,他的理论支持下,让我知道了该如何去调用API,以及注意事项。主要还是windows外壳函数Shell_Notif

2010-03-03 15:42:00 2346 3

原创 Win32汇编---对话框资源的综合应用

这个实验中基本上把改用的对话框资源都用上了,GROUPBOX, AUTOCHECKBOX,COMBOBOX,EDITTEXT,TEXT,SCROLLBAR,PUSHBUTTON...一开始对于控件的位置可能把握不好,但是我想先把一些基本组件的特征写出来,位置,大小都设置为0,保存为RC文件,然后用编译成RES文件,用VC++6.0来编辑这些控件,把位置,大小都弄成合适的大小,保存。也可以另存为一份

2010-03-02 16:43:00 1304

原创 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 3371 2

原创 贪心算法--Dijkstra单源最短路径

今天兴致勃勃的开始做了贪心算法的第一道题目:Single-Source Shortest-Paths Problem也就是所谓的单源最短路径,课件上有算法,但是代码实现起来还真是不容易(仅仅对于我这个菜鸟来说),下面是算法框架: 设S为最短距离已确定的顶点集(看作红点集),V-S是最短距离尚未确定的顶点集(看作蓝点集)。①初始化   初始化时,只有源点s的最短距离是已知的(D(s)=0),

2009-12-23 00:21:00 3289 1

原创 C++实现快速排序算法QuickSort()

算法基本思想:第一步:教官面对一列无序的队伍,他指着最右边的一个人A说:“比他高的站他右边,比他矮的站他左边。”完成之后,队伍被他分割成了两列,第一列:比A矮的在A的左边;第二列:比A 高的在A 的右边。第二步:他首先处理第一列,指着在A的左边的一个人B(也就是第一列中的最右边的一个人)说到:“比B高的站他右边,比B矮的站他左边”。这样完成之后,第一列又他成了两列。同样的方法处理第二列,第二列

2009-12-09 15:29:00 1957

原创 C++ 实现MergeSort算法

算法思想:假设有两个人,每人手里都有一部分牌,而且每个人手中的牌都按大小顺序排列好了。那么,现在要把两个人手中的牌合并到一起,并且合并后要从小到大依次排好,可以这样做:每个人都从手中拿出最小的牌,然后比较,谁的牌小就把该张牌放在桌面上,牌大的一方牌仍然拿在手中,待下次再比较。下一次每个人又拿最小的牌进行比较,如此下去。。。直到一方手中的牌全部放在了桌面上,这时另一方就可以把牌按从小到大的顺序全

2009-12-08 22:26:00 1460

原创 组合键 扫描码

规律:键盘从左到右,从上到下; 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 1064

数据库系统实验(含答案)

数据库原理实验指导书 实验名称:试验一:SQL语言嵌套查询和数据更新操作 所属课程:数据库原理 实验类型:设计型实验 实验类别:基础□ 专业基础√ 专业□ 实验学时:4学时 一、实验目的 1.熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式; 2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算); 3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用; 4.加深理解表的定义对数据更新的作用 二、预习与参考 1.熟悉SQL SERVER 工作环境; 2.连接到学生-课程数据库 3.复习对表中数据查询的SQL语言命令; 4.复习对表中数据的插入、修改和删除的SQL语言命令。 三、实验要求(设计要求) 针对教材例子,通过SQL SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。 四、实验方法及步骤 1.在表S、C、SC上进行简单查询; 2.在表S、C、SC上进行连接查询; 3.在表S、C、SC上进行嵌套查询; 4.使用聚合函数的查询; 5.对数据的分组查询; 6.对数据的排序查询。 7. 将数据插入当前数据库的表S、C、SC中; A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 8.将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上; 9.修改表S、C、SC中的数据;   A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 10.删除表S、C、SC中的数据。 A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 五、实验内容 在表S,C,SC上完成以下操作: 1. 查询学生的基本信息; 2. 查询“CS”系学生的基本信息; 3. 查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; 4. 找出最大年龄; 5. 找出“CS”系年龄最大的学生,显示其学号、姓名; 6. 找出各系年龄最大的学生,显示其学号、姓名; 7. 统计“CS”系学生的人数; 8. 统计各系学生的人数,结果按升序排列; 9. 按系统计各系学生的平均年龄,结果按降序排列; 10. 查询每门课程的课程名; 11. 查询无先修课的课程的课程名和学时数; 12. 统计无先修课的课程的学时总数; 13. 统计每位学生选修课程的门数、学分及其平均成绩; 14. 统计选修每门课程的学生人数及各门课程的平均成绩; 15. 找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列; 16. 查询选修了“1”或“2”号课程的学生学号和姓名; 17. 查询选修了“1”和“2”号课程的学生学号和姓名; 18. 查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩; 19. 查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩); 20. 查询没有选修课程的学生的基本信息; 21. 查询选修了3门以上课程的学生学号; 22. 查询选修课程成绩至少有一门在80分以上的学生学号; 23. 查询选修课程成绩均在80分以上的学生学号; 24. 查询选修课程平均成绩在80分以上的学生学号; 25. 选做:针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。 26. 将数据分别插入表S、C、SC; 27. 将表S、C、SC中的数据分别以.SQL文件和.txt文件的形式保存在磁盘上。 28. 在表S、C、SC上练习数据的插入、修改、删除操作。(比较在表上定义/未定义主码(Primary Key)或外码(Foreign Key)时的情况) 29. 将表S、C、SC中的数据全部删除,再利用磁盘上备份的数据来恢复数据。 30. 如果要在表SC中插入某个学生的选课信息(如:学号为“200215121”,课程号为“c123”,成绩待定),应如何进行? 31. 求各系学生的平均成绩,并把结果存入数据库; 32. 将“CS”系全体学生的成绩置零; 33. 删除“CS”系全体学生的选课记录; 34. 删除学号为“S1”的相关信息; 35. 将学号为“S1”的学生的学号修改为“S001”; 36. 把平均成绩大于80分的男同学的学号和平均成绩存入另一个表S——GRADE(SNO,AVG——GRADE); 37. 把选修了课程名为“数据结构”的学生的成绩提高10%; 38. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生的成绩提高5%; 39. 把选修了“C2”号课程,且成绩低于该门课程的平均成绩的学生成绩删除掉; 40. 选做:将数据插入SPJ数据库中的四个表S,P,J,SPJ中,并以.SQL文件和.txt文件的形式保存在磁盘

2010-05-04

Visual Assist X v10.5.1715

微软官方网站下载的Visual Assist X v10.5.1715 以及破解补丁文件!内附安装说明~~ 支持VS2008

2010-03-24

MyCCL V2.1

加强版 v2.1 作者:天涯孤月剑 1.优化了生成速度 2.减少了程序的某些闲置资源. 3.程序改用了较高的压缩率算法. 4.减少了使用本程序时对内存的占用率. 5.减少了程序冗余资源,如部分图片及背景音乐.

2010-01-10

Windows Via C C++(windows核心编程)

作为Windows开发人员的必备参考,本书是为打算理解Windows的C和C++程序员精心设计的。第5版全面覆盖Windows XP,Windows Vista和Windows Server 2008中的170个新增函数和Windows特性。书中还讲解了Windows系统如何使用这些特性,我们开发的应用程序又如何充分使用这些特性,如何自行创建新的特性。

2010-01-10

中文 win32 API 手册

作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的。本书首先对Win32 API函数做完整的概述;然后收录五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务;在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。

2009-12-17

masm6.11完整安装版

纯净版masm6.11安装版 使用说明内置

2009-12-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除