自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 c++登陆邮箱

头文件[cpp] view plaincopy/*********************************************************************** *发送邮件模块头文件 *可以发送文本和附件(支持多个附件一起发送) ****************************************

2013-11-22 10:58:33 2139

转载 SQL注入漏洞全接触

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性 ...随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据

2013-11-18 22:40:31 885

转载 读源码笔记--文件过滤驱动FileSpy第4篇 -- 关于IRP_MJ_FILE_SYSTEM_CONTROL

前面3篇,已经读完了绑定一个文件系统被挂载时,绑定的操作。这里得说一下总体的框架视角下,需要绑定的东西。 1:变动回调里实现绑定,这个绑定是文件系统被挂载或取消时,需要实现的。2:变动回调已经掉过了,就是说文件过滤驱动已经加载,并运行。新来某个文件系统的储存设备,也需要绑定。 这里变动回调里面已经绑定了已经存在的卷设备,那么新加上来的存储设备,如何绑定?看下

2013-11-18 22:11:04 2131

转载 读源码笔记--文件过滤驱动FileSpy第3篇 -- 绑定VDO

在第2篇已经看到,SpyFsNotification中成功绑定了文件系统的控制设备对象CDO,然后判断编译版本时,如果是XP及以后的OS版本,就直接枚举文件系统下的所有的已经挂载了的卷设备,并绑定他们。 在看函数SpyEnumerateFileSystemVolumes之前,复习前面2篇的过程。DriverEntry里面主要做4件事:1:创建设备,该设备用来与应用层

2013-11-18 22:10:30 1196

转载 读源码笔记--文件过滤驱动FileSpy第2篇 -- 绑定CDO

第一篇中,已经解读了DriverEntry这个函数,函数里面就是做了一些初始化工作,创建用于通信的设备,设置各种回调,注册文件系统变动回调等等。今天接着看filespy.c中的SpyFsNotification函数。该函数是IoRegisterFsRegistrationChange注册的文件系统变动回调函数。先看这个的理由如下:在没看任何代码前,我的思维是:首先绑定系统中的所有物

2013-11-18 22:09:09 1438

转载 读源码笔记--文件过滤驱动FileSpy第1篇 -- DriverEntry

今天只读FileSpy的DriverEntry,位于源文件:filespy.c。//// 全局变量.//ULONG gFileSpyDebugLevel = DEFAULT_FILESPY_DEBUG_LEVEL;#if WINVER >= 0x0501ULONG gFileSpyAttachMode = FILESPY_ATTACH_ALL_VOLUMES;#

2013-11-18 22:08:22 1724

转载 Cookie注入攻防实战

Web攻防系列教程之 Cookie注入攻防实战2012-08-23 17:01:09摘要:随着网络安全技术的发展,SQL注入作为一种很流行的攻击方式被越来越多的人所知晓。很多网站也都对SQL注入做了防护,许多网站管理员的做法就是添加一个防注入程序。这时我们用常规的手段去探测网站的SQL注入漏洞时会被防注入程序阻挡,遇到这种情况我们该怎么办?难道就没有办法了吗?答案是否定

2013-09-24 17:28:37 1313

转载 Sqlmap注入技巧收集

收集了一些利用Sqlmap做注入测试的TIPS,其中也包含一点绕WAF的技巧,便于大家集中查阅,欢迎接楼补充、分享。TIP1当我们注射的时候,判断注http://site/script?id=10http://site/script?id=11-1 # 相当于 id=10http://site/script?id=(select 10) #

2013-08-13 09:46:20 617

转载 病毒

第1章 假想的病毒程序   假如您对病毒的了解象人们对尼斯湖怪的了解一样少,那么读了下面的程序,你会发现怪?   一个批处理病毒   你第一次用批处理编程序是在几年前?你是否想象过下面的批处理也是一个病毒?   @ECHO OFF   REM 文件名 VIRUS.BAT   REM 本病毒感染自动执行批处理文件   IF DRIVE=="A:\" GOTO END123

2013-08-06 09:42:06 645

转载 加载驱动过程

用instDrv加载驱动,用CreateService()函数等等过程如下,1,先是它向Service进程注册服务。2,然后Service进程调用ZwLoadDriver()加载驱动。进入NtLoadDriver()系统调用,它先会检测SerVice进程(当前进程)是不是有加载驱动的权限,然后检测当前进程是不是System进程,是的话直接调用IopLoadUnloadDriver(

2013-06-19 10:17:08 1344

转载 Inline Hook 之(监视任意函数)

前面已经写过两次inline hook的博文了,第一篇为:《C/C++ HOOK API(原理深入剖析之-LoadLibraryA)》,这篇博文的方法是通过修改任意函数的前面N个字节,实现跳转并进入到我们自定义的hook函数里,执行完毕我们的hook函数之后,再直接调用被hook的函数。第一篇的方法没有考虑多线程的情况,所以在多线程环境下会有问题。第二篇为:《 Inline HOOK API

2013-05-30 20:12:19 630

转载 IoBuildDeviceIoControlRequest

重要函数学习:IoBuildDeviceIoControlRequest这个函数主要用来构造一个用于设备i/o控制请求的irp包,该irp包将被同步处理,其原型如下:  参数解释:       IoControlCode                    提供i/o控制请求所需的i/o控制码。这个i/o控制码可以在msdn中查询到。

2013-05-30 20:11:41 1170

转载 获取PCI设备并初始化

PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个物理空间。由于PCI支持设备即插即用,所以PCI设备不占用固定的内存地址空间或I/O地址空间,而是可以由操作系统决定映射的基址。系统加电时,BIOS检测PCI总线,确定所有连接在PCI总线上的设备以及它们配置要求,并进行系统配置。所以,所有PCI设备必须实现配置空间,从而能实现参数

2013-05-30 20:11:10 974

转载 IRP_MN_START_DEVICE分发例程中的前进和等待IRP总结

当PnP管理器检测到硬件时,它首先参考注册表以了解有哪些过滤器驱动程序将管理该硬件。如果必要(某些驱动程序可能因为其它硬件的需要已经被系统装入)它将装入这些驱动程序,并调用它们的AddDevice函数。最后AddDevice函数创建设备对象并连入设备堆栈。此后,PnP管理器将为所有设备驱动程序分配I/O资源。一旦资源分配确定,PnP管理器通过向每个设备发送一个带IRP_MN_START_D

2013-05-30 20:10:17 616

转载 WDM驱动程序的基本结构和实例

WDM驱动的基本结构:WDM驱动模型是建立在NT式驱动程序模型基础之上的。对于WDM驱动程序来说,一般都是基于分层的,即完成一个设备的操作,至少要由两个驱动设备共同完成。 1)物理设备对象和功能设备对象物理设备对象(Physical Device Object,PDO)和功能设备对象(Function Device Object,FDO)的关系是“附加”与“被附加”

2013-05-30 20:08:54 534

转载 vc 结束线程

vc 结束线程2008-05-19 10:34在wtl工程中定义一个现成,如下:DWORD WINAPI ThreadFunc( LPVOID pParam ){if( g_pMainlg )g_pMainlg->DoEnumNetwork();return 0;}void CMainDlg::StartTreeThread(){DW

2013-05-29 15:06:10 669

转载 指针函数与函数指针的区别

1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表)      int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:

2013-03-11 08:48:35 283

转载 回溯与递归算法的区别

回溯算法其实是一种试探,该方法放弃关于问题规模大小的限制,并将问题的方案按某种顺序逐一枚举和试验。发现当前方案不可能有解时,就选择下一个方案,倘若当前方案不满足问题的要求时,继续扩大当前方案的规模,并继续试探。如果当前方案满足所有要求时,该方案就是问题的一个解。放弃当前方案,寻找下一介方案的过程称为回溯。 而递归算法依赖与前一步的结果,它的结果来源于一条主线,是确定的,而不是试探的结果,这就是

2013-02-18 11:11:51 740

转载 代码注入 API HOOK(非DLL)[转]

原文:http://blog.csdn.net/dalixux/archive/2008/10/14/3072436.aspx使用代码注入来实现进程隐藏  而不是使用DLL注入来实现进程隐藏  没有什么高级技术  纯体力活  原理就不说了  只是没有通过DLL注入  来实现HOOK API从核心编程 以来  似乎 一提到C注入 就是DLL注入 很奇怪 为什么没人写个完整的代码注入

2012-11-08 16:29:26 559

转载 提权的实现

要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限。可是,就算我们用Administrator帐号对一个系统安全进程执行OpenProcess(PROCESS_ALL_ACCESS,FALS

2012-11-08 11:07:28 296

转载 代码注入之远程线程篇

引子         前些日子由于项目要求,在网上到处找资料,于无意中发现了 CodeProject 上的一篇很老的文章,文章标题为:Three Ways to Inject Your Code into Another Process这篇文章呢,出来很久咯,还是 03 年的文章了,可惜我弄底层弄得时间不久哦,不然应该早就看过这篇大作了,由于是大作,而且出来

2012-11-07 15:39:40 383

转载 进程隐藏与进程保护(SSDT Hook 实现)(三)

文章目录:                 1. 引子:2. 获取当前系统下所有进程:3. 服务管理(安装,启动,停止,卸载):4. 应用程序和内核程序通信:5. 小结:                1. 引子:                         关于这个 SSDT Hook 实现进程隐藏和进程保护呢,

2012-11-07 15:38:21 455

转载 进程隐藏与进程保护(SSDT Hook 实现)(二)

文章目录:                 1. 引子 – Demo 实现效果:2. 进程隐藏与进程保护概念:3. SSDT Hook 框架搭建:4. Ring0 实现进程隐藏:5. Ring0 实现进程保护:6. 隐藏进程列表和保护进程列表的维护:7. 小结:                1. 引子 – Demo

2012-11-07 15:36:22 1163

转载 进程隐藏与进程保护(SSDT Hook 实现)(一)

文章目录:                 1. 引子 – Hook 技术:2. SSDT 简介:3. 应用层调用 Win32 API 的完整执行流程:4. 详解 SSDT:5. SSDT  Hook 原理:6. 小结:          1. 引子 – Hook 技术:     前面一篇博文呢介绍了代码的注入

2012-11-07 15:34:33 412

转载 vs2008 C++创建和调用标准DLL

为了共享代码,需要生成标准的dll,本文将介绍在vs2008 C++生成及调用dll。一、生成DLL    生成一个名为FunDll的dll文件,对外函数为addl。   step1:vs2008 环境下,文件-->新建项目,选择visual c++,在选择 “Win32 项目”,键入项目名称,如 FunDll。如图:   点击下一步,勾选“DLL”和“导出

2012-11-01 14:22:49 590

转载 VS2008环境下,C++生成Dll文件 C++调用Dll文件(非MFC)

生成Dll文件新建项目,选择Win32项目,工程名:09DllDemo 确定后,选择应用程序设置, 应用程序类型选择DLL(D),附加选项上选择 导出符号(X)(便于学习)。单击完成,完成工程创建。---------------------------------------------------------------------------------------------

2012-11-01 14:05:08 508

原创 修改IAT法来hook api

通过学习PE文件的基本知识,实现一个hook api,并利用MessageBox来简单测试:#include #include #include using namespace std;typedef int(WINAPI* PFNMESSAGEBOX)(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);int* a

2012-10-31 14:27:31 456

转载 PE简介

一.PE简介PE全名Portable Executable File Format(可移植的执行体),是目前window主流可执行文件格式, 是一种通用于所有window平台和所有CPU上的文件格式二.PE文件的定义PE文件的类型定义集中在WinNT.h这个类中,打开WinNT.h,再搜索Image Format(搜到的在9560行),为什么叫Image Format,

2012-10-31 14:18:49 1435 2

转载 RING3代码HOOK的原理实现

最初看见俄国一份DELPHI代码这样实现,他的优点在于1, 在代理函数的内部不用先UNHOOK,再调用,再重新HOOK,否则多线程下会出问题 2, 没有硬编码,结构性比较好。#include #include #include using namespace std;#define bt 5unsigned int* Oldpro;typedef int (_stdcall * MY

2012-10-31 14:08:49 317

空空如也

空空如也

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

TA关注的人

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