- 博客(23)
- 资源 (64)
- 收藏
- 关注
转载 VS中编译64位程序以及遇到的问题(E0000235)
安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。虽然标题写着如何在VS2008中编译,但其实2005也是类似。1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。2. 选择“x64”平台,点击确定按钮。3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就
2013-08-31 23:15:47 15874 2
转载 VC++如何判断当前操作系统是32位还是64位?
方法如下: #include #include typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL IsWow64() {
2013-08-31 19:03:00 5855
转载 DKOM隐藏驱动
DKOM(Direct Kernel Object Manipulation)就是直接内核对象操作技术。所有的操作系统都在内存中存储记账信息,他们通常采用结构或对象的形式,由对象管理器管理。当用户空间进程请求操作系统信息例如进程、线程或设备驱动程序列表时,这些对象被报告给用户。这些对象或结构位于内存中,因此可以直接对其进行修改。隐藏进程主要关注的windows关键数据结构是:进程的EPROCESS
2013-08-31 17:26:07 4393
转载 VS2012 ddk驱动编译与虚拟机联机调试设置(vs调试驱动)
一.安装Windows Driver Kit 81首先在计算机上安装VS2012 (12很容易安装,安装步骤略),然后到官网上下载Windows Driver Kit 8 下载地址:http://msdn.microsoft.com/zh-cn/windows/hardware/hh852362/下载完毕点击 进行安装。安装模式有两种,一种是在线直接安装,一种是下载安装包到本地,之后再进行安装...
2013-08-31 13:44:54 3181
转载 驱动开发中使用安全字符串函数
一、前言 大量的系统安全问题是由于薄弱的缓冲处理以及由此产生的缓冲区溢出造成的,而薄弱的缓冲区处理常常与字符串操作相关。c/c++语言运行库提供的标准字符串操作函数(strcpy, strcat, sprintf等)不能阻止在超出字符串尾端的写入。 基于Windows XP SP1以及随后的操作系统的Windows DDK版本提供了安全字符串函数(safe stri
2013-08-31 10:04:35 1049
转载 UNICODE_STRING 总结
UNICODE_STRING:typedef struct _UNICODE_STRING { USHORT Length; //UNICODE占用的内存字节数,个数*2; USHORT MaximumLength; PWSTR Buffer;} UNICODE_STRING ,*PUNICODE_STRING;参数定义:Length-----buf
2013-08-30 18:25:03 5003
转载 INF文件详解(32位64位兼容INF)
INF文件格式要求一个INF文件是以段组织的简单的文本文件。一些段油系统定义(System-Defined)的名称,而另一些段由INF文件的编写者命名。每个段包含特定的条目和命名,这些命名用于引用INF文件其它地方定义的附加段。INF文件的语法规则:1、要求的内容:在特定的INF文件中所要求的必选段和可选段、条目及命令依赖于所要安装的设备组件。端点顺序可以是任意的,大多数的INF文件安
2013-08-30 15:55:07 24936 1
转载 虚拟机检测技术攻防
前言在当今信息安全领域,特别是恶意软件分析中,经常需要利用到虚拟机技术,以提高病毒分析过程的安全性以及硬件资源的节约性,因此它在恶意软件领域中是应用越来越来广泛。这里我们所谓的虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件(比如VMware,Virtual PC ,VirtualBox),你可以在一台物
2013-08-27 14:53:21 51526 17
转载 IDA文件目录简介
IDA的可执行文件 idag.exe:IDA的Windows GUI版本。从6.2开始,IDA中不在包含该文件。 idaq.exe:IDA6.0或更新版本的Windows Qt GUI版本。 idaw.exe:IDA的Windows文本模式版本。随着IDA6.0开始采用Qt跨平台GUI库,IDA的原始windows版本(idag.exe)已被废弃,将从版本6.2开始
2013-08-27 12:48:04 7799
转载 如何快速添加快捷方式到“发送到”选项...
这是一个电脑使用的技巧,用好这个技巧,是由电脑菜鸟向高手迈进的中间一个过程。尤其是把文件发送到调试器,比如ollydbg等工具,特别有用。一分钟,教你学会,如何添加快捷方式到“发送到”选项里面。我现在把VC++添加到了“发送到”选项里面。看图:工具/原料 不需要任何第三方工具方法/步骤
2013-08-27 12:09:17 5943
转载 _declspec(naked) 使用(裸函数)
最近学习驱动开发,在写绕过inline hook的代码时,有个问题困扰了我一天,最后发现原来是在内嵌汇编时,没有使用_declspec(naked)导致的,看来是偶的基础知识掌握的不牢固啊(得补一下了,磨刀不误砍柴功),在此给记录一下,给自己一个警示。对于jmp类型的hook, 如果自己的过程没有使用_declspec(naked),那么系统会自动给添加一些额外的代码,控制堆栈平衡,但
2013-08-20 10:24:12 5139
转载 用symbol来获得ShadowSSDT的原始地址和函数名
在网上看了下,获得ShadowSSDT的函数名和原始地址的方法和文章不是很多。比较简单的应该算是设计张函数名表和用symbol的方法。个人觉得用symbol来获得ShadowSSDT还是比较方便的,而且自己也不用去创建一张表,何乐而不为。^_^这办法简单的原因是我只需要一个win32.sys,win32.pdb,以及调用不到10个的API就能完成工作。好,来看看怎么调用这些
2013-08-14 09:25:31 3476
原创 内核分析PE获取DLL导出函数地址
环境:VS2012+WIN8 64类型:C++编写的WDM驱动程序测试:VM WIN7用途:主要用于驱动程序中WIN32 API地址,也可得到自定义的DLL中的函数导出地址,记录内核文件相关操作以便以后查看。其它:此段代码来源于网络,经修改调试而成。头文件 HelloWDM.h#if __cplusplusextern "C"{#endif#in
2013-08-10 16:35:42 4988 2
转载 修正后的SYSTEM_THREADS与SYSTEM_PROCESSES结构体
由于最近有个32位程序需要向64位系统移植,其中程序中使用了ZwQuerySystemInformation函数来枚举系统中的进程与线程信息,但是移植后的程序在Windows x64下工作不正常。现象是获取到的进程/线程信息混乱,不正确。通过查询WRK以及Win2k源码,将结构体中的成员进行了修改,最终编译出的程序可以正常显示。由于ZwQuerySystemInformation属于Windo
2013-08-07 16:33:17 4450
转载 探测Windows2K/XP/2003本机系统信息
Native API乃Windows用户模式中为上层Win32 API提供接口的本机系统服务。平常我们总是调用MS为我们提供的公用的Win32 API函数来实现来实现我们系统的功能。(PS:前不久,偶写了一个Windows任务管理器,支持对桌面,进程/线程,系统性能,磁盘,环境变量,事件日志,网络,设备驱动,Win32服务,共享,用户,系统及关机等信息的探测和控制,完全基于Win32 API,大家
2013-08-07 15:37:23 1003
转载 函数ZwQuerySystemInformation小结
函数存在于NTDLL.DLL动态链接库中。NTDLL.DLL负责ring3与ring0之间的通信。当使用子系统方式进行系统调用的时候,ntdll.dll和SSDT会配合使用。关于ZwQuerySystemInformation这个函数可以用来查询进程信息、内核信息、硬件信息(例如CPU数目)、句柄信息、时间信息等54个系统信息。该函数的原型是NTSTATUS WINAPI ZwQu
2013-08-07 10:34:36 12580 1
转载 Windows操作系统产品名与内部版本号的对应(windows版本号)
虽然Windows的命名取决于很多因素,形式各不相同,但是其内部版本号却是一脉相承的,从最初的Windows 1.0到之后的Windows 2.0、Windows 3.0,再到Windows 95,其版本号为Windows 4.0,随后的Windows 9x均为Windows 4系列。在Windows 7发布之前,微软曾简要提及各个Windows的版本号,并以此解释为何要将下一代操作系统命
2013-08-07 09:33:06 20241
转载 Windows版本—— MSDN版、OEM版、RTM版有什么不同
一)MSDN (Microsoft Developer Network)版这是微软公司面向软件开发者的一种版本。MSDN 涵盖了所有的可以被开发扩充的平台和应用程序,因此如微软公司的百科全书 Encarta,或者是各种游戏,是不包括在 MSDN 之内的,因为这些产品直接面向最终用户,没有进行程序开发的必要。(二)OEM(original equipment manufacturer)版
2013-08-07 09:27:36 2145
转载 一句话总结Windbg 32位版本和64位版本的选择
惯了Vsiual Studio的兄弟们可能会因为先入为主的原因以为所有的调试器都应该像它那样,其实不然,当你安装Debugging Tools for Windows的时候,你将发现有两个系列的工具,一系列32位的工具和一系列64位的工具。这让人觉得和费解,因为在我们安装Microsoft Visual Studio的时候你根本不需要考虑32位还是64位。如果你正使用windbg调试工
2013-08-06 15:11:25 6273
转载 Win32 API之Setlocale函数配置地域化信息函数
setlocale:函数原形为:char *setlocale( int category, const char *locale );头文件:所支持的操作系统为:ANSI, Win 95, Win NT对于简体中文可以使用如下设置:setlocale( LC_ALL, "chs" );为什么一定要调用setlocale呢?因为在C/C++语言标准中定义了其运行时的字符集环
2013-08-03 19:54:53 3298
转载 关于Visual C++ 2008中wprintf和wprintf_s输出中文乱码问题
最近写编码转换库,发现MB编码转换成 Unicode 后,中文总是乱码。起初以为是自己写错了,但测试后发现转换结果是完全正确的。再测试一下,发现居然连常字符串都不能正常输出……CharWucs2s[] = L"我fsf我safas";wprintf(L"%s\r\n",ucs2s);输出结果:?fsf?safas带着疑
2013-08-03 19:53:38 4603
转载 C++及Windows异常处理(try,catch; __try,__finally; __try, __except)——一道笔试题引起的探究
题目: int* p = 0x00000000; // pointer to NULL puts( "hello "); __try{ puts( "in try "); __try{ puts( "in try ");
2013-08-03 10:30:51 2052
转载 windows 驱动和应用层的三种通信方式 r3到r0 DeviceIoControl 4种ioctl请求
驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换。驱动层和应用层通信,主要是靠DeviceIoControl函数,下面是该函数的原型:BOOLDeviceIoControl(HANDLEhDevice,//设备句柄DWORDdwIoControlCode,//IOCTL请求操作代...
2013-08-02 15:44:49 5046
字体wps.zip 用于linux wps 使用
2020-03-16
Nat_Type_Tester_.rar
2019-12-26
msfupdate.erb
2019-11-04
fuzz工具 teenage mutant ninja turtles
2019-01-14
Sybase ASE 12.5.4 PC 客户端
2018-12-12
Win32 OpenSSL
2015-04-18
ActivePerl
2015-04-18
编写 Debugging Tools for Windows 扩展 实例
2014-04-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人