c++
junjie1595
这个作者很懒,什么都没留下…
展开
-
修改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 · 455 阅读 · 0 评论 -
读源码笔记--文件过滤驱动FileSpy第4篇 -- 关于IRP_MJ_FILE_SYSTEM_CONTROL
前面3篇,已经读完了绑定一个文件系统被挂载时,绑定的操作。这里得说一下总体的框架视角下,需要绑定的东西。 1:变动回调里实现绑定,这个绑定是文件系统被挂载或取消时,需要实现的。2:变动回调已经掉过了,就是说文件过滤驱动已经加载,并运行。新来某个文件系统的储存设备,也需要绑定。 这里变动回调里面已经绑定了已经存在的卷设备,那么新加上来的存储设备,如何绑定?看下转载 2013-11-18 22:11:04 · 2127 阅读 · 0 评论 -
读源码笔记--文件过滤驱动FileSpy第2篇 -- 绑定CDO
第一篇中,已经解读了DriverEntry这个函数,函数里面就是做了一些初始化工作,创建用于通信的设备,设置各种回调,注册文件系统变动回调等等。今天接着看filespy.c中的SpyFsNotification函数。该函数是IoRegisterFsRegistrationChange注册的文件系统变动回调函数。先看这个的理由如下:在没看任何代码前,我的思维是:首先绑定系统中的所有物转载 2013-11-18 22:09:09 · 1436 阅读 · 0 评论 -
读源码笔记--文件过滤驱动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 · 1723 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 664 阅读 · 0 评论 -
指针函数与函数指针的区别
1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:转载 2013-03-11 08:48:35 · 282 阅读 · 0 评论 -
回溯与递归算法的区别
回溯算法其实是一种试探,该方法放弃关于问题规模大小的限制,并将问题的方案按某种顺序逐一枚举和试验。发现当前方案不可能有解时,就选择下一个方案,倘若当前方案不满足问题的要求时,继续扩大当前方案的规模,并继续试探。如果当前方案满足所有要求时,该方案就是问题的一个解。放弃当前方案,寻找下一介方案的过程称为回溯。 而递归算法依赖与前一步的结果,它的结果来源于一条主线,是确定的,而不是试探的结果,这就是转载 2013-02-18 11:11:51 · 737 阅读 · 0 评论 -
进程隐藏与进程保护(SSDT Hook 实现)(二)
文章目录: 1. 引子 – Demo 实现效果:2. 进程隐藏与进程保护概念:3. SSDT Hook 框架搭建:4. Ring0 实现进程隐藏:5. Ring0 实现进程保护:6. 隐藏进程列表和保护进程列表的维护:7. 小结: 1. 引子 – Demo转载 2012-11-07 15:36:22 · 1157 阅读 · 0 评论 -
提权的实现
要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限。可是,就算我们用Administrator帐号对一个系统安全进程执行OpenProcess(PROCESS_ALL_ACCESS,FALS转载 2012-11-08 11:07:28 · 296 阅读 · 0 评论 -
代码注入之远程线程篇
引子 前些日子由于项目要求,在网上到处找资料,于无意中发现了 CodeProject 上的一篇很老的文章,文章标题为:Three Ways to Inject Your Code into Another Process这篇文章呢,出来很久咯,还是 03 年的文章了,可惜我弄底层弄得时间不久哦,不然应该早就看过这篇大作了,由于是大作,而且出来转载 2012-11-07 15:39:40 · 382 阅读 · 0 评论 -
进程隐藏与进程保护(SSDT Hook 实现)(三)
文章目录: 1. 引子:2. 获取当前系统下所有进程:3. 服务管理(安装,启动,停止,卸载):4. 应用程序和内核程序通信:5. 小结: 1. 引子: 关于这个 SSDT Hook 实现进程隐藏和进程保护呢,转载 2012-11-07 15:38:21 · 455 阅读 · 0 评论 -
进程隐藏与进程保护(SSDT Hook 实现)(一)
文章目录: 1. 引子 – Hook 技术:2. SSDT 简介:3. 应用层调用 Win32 API 的完整执行流程:4. 详解 SSDT:5. SSDT Hook 原理:6. 小结: 1. 引子 – Hook 技术: 前面一篇博文呢介绍了代码的注入转载 2012-11-07 15:34:33 · 412 阅读 · 0 评论 -
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 阅读 · 0 评论 -
VS2008环境下,C++生成Dll文件 C++调用Dll文件(非MFC)
生成Dll文件新建项目,选择Win32项目,工程名:09DllDemo 确定后,选择应用程序设置, 应用程序类型选择DLL(D),附加选项上选择 导出符号(X)(便于学习)。单击完成,完成工程创建。---------------------------------------------------------------------------------------------转载 2012-11-01 14:05:08 · 506 阅读 · 0 评论 -
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 · 1432 阅读 · 2 评论 -
读源码笔记--文件过滤驱动FileSpy第3篇 -- 绑定VDO
在第2篇已经看到,SpyFsNotification中成功绑定了文件系统的控制设备对象CDO,然后判断编译版本时,如果是XP及以后的OS版本,就直接枚举文件系统下的所有的已经挂载了的卷设备,并绑定他们。 在看函数SpyEnumerateFileSystemVolumes之前,复习前面2篇的过程。DriverEntry里面主要做4件事:1:创建设备,该设备用来与应用层转载 2013-11-18 22:10:30 · 1196 阅读 · 0 评论