
编程技术
文章平均质量分 64
crystal0011
这个作者很懒,什么都没留下…
展开
-
Nt*和Zw*系列函数的区别
ntdll.dll和ntoskrnl.exe的Nt和Zw系列函数区别in ring3:lkd> ? ntdll!ZwOpenProcessEvaluate expression: 2089999739 = 7c92dd7blkd> ?ntdll!NtOpenProcessEvaluate expression: 2089999739 = 7c92dd7b可以看到,在nt转载 2012-10-25 19:25:49 · 888 阅读 · 0 评论 -
VC++调用带参数的存储过程
最近由于工作之需,要利用VC进行一些高级的数据库操作,如执行存储过程等。遍寻网络资源发现好使的不多(经常#30XX错误,大部分应该是COM的VARIANT数据类型所致,其实有个讨巧的方法,请看下文),在自己的实验下小有所得。记下学习笔记以备参考:1 进行ADO编程的必备步骤:引入msado15.dll #import "c:/program files/common files/syste转载 2014-09-21 17:19:17 · 1186 阅读 · 0 评论 -
用VC写DLL中"error LNK2005: _DllMain@12 already defined"的错误
转自:用Visual C++编写DLL,如果在new project时选了MFC DLL,而后又想写成Regular DLL,即拥有自己的DllMain()入口函数,则在build时会遇到类似如下的link错误: error LNK2005:_DllMain@12 already defined in xxx.OBJ几种解决方案:1, 你只需要在工程设置里面,把转载 2014-07-23 10:12:10 · 679 阅读 · 0 评论 -
未公开Windows API SHChangeNotifyRegister实现文件监控
在Windows实现文件监控有三种方法,第一种是“虚拟文件系统驱动”方法,如windows 下的filemon,网上有很多关于他的分析。第二种方法是“HOOK API”方法,钩子技术。第三种方法是“消息机制”,从windows的文件通知消息获取系统的文件操作。但是这是文件操作完成以后,才通知的。所以只能进行监视监视,不能进行完全的控制。而消息机制当中,也有三种方法,(1)通过使用“未公开API S转载 2014-06-01 09:19:39 · 9108 阅读 · 0 评论 -
C语言和设计模式(之开篇)
转自:http://blog.youkuaiyun.com/feixiaoxing/article/details/7068053关于软件设计方面的书很多,比如《重构》,比如《设计模式》。至于软件开发方式,那就更多了,什么极限编程、精益方法、敏捷方法。随着时间的推移,很多的方法又会被重新提出来。 其实,就我个人看来,不管什么方法都离不开人。一个人写不出二叉树,你怎么让他写?敏转载 2014-04-01 16:11:39 · 593 阅读 · 0 评论 -
驱动开发 CTL_CODE 定义说明
ddk中有一个CTL_CODE宏,用这个宏我们可以很方便的定义IOCTL。不管是IRP_MJ_DEVICE_CONTROL还是IRP_INTERNAL_DEVICE_CONTROL包,IOCTL都用如下形式定义:#define IOCTL_Device_Function CTL_CODE(DeviceType, Function, Method, Access)DeviceType:设转载 2012-10-25 21:43:28 · 1015 阅读 · 0 评论 -
Vista&Win7下CreateRemoteThread应用的若干问题和解决方案
Vista&Win7下CreateRemoteThread应用的若干问题和解决方案在xp、03下面,用CreateRemoteThread往别的进程注入shellcode或者是dll是一件非常容易的事情,甚至是往系统进程里面注入(如svchost、winlogon等),但在vista下,你会发现事情没有那么容易了,就算是在xp下一模一样的代码,在vista下面都有可能给你一个ERROR_N转载 2012-10-16 10:53:37 · 4080 阅读 · 0 评论 -
windows内核API种类
在初学windows驱动时,开始除了要学习驱动的加载、调试等准备工作后,就要学习内核的API了,作为初学者在刚刚看到那些很陌生的函数时可能会感到很迷茫,其实这些都是很正常的,就像我们在刚刚接触编程时那样。 今天我在我第一篇正式的博文中总结一下windows内核API函数大概的分类,以便以后看到这些函数时首先能通过函数的名字判断出这个函数大概是做哪方面的工作。 大部分内核API都会有前缀,例转载 2012-10-25 19:36:53 · 1495 阅读 · 0 评论 -
CTL_CODE定义说明
我们在说DeviceIoControl函数时其第二个参数dwIoControlCode就是由CTL_CODE宏定义的,下边我们可以了解一下CTL_CODE的内容。CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceType(设备类型,高16位(16-31位)),Access(访问限制,14-15位),Function(功能 2-13位),Met转载 2012-10-25 21:42:30 · 1298 阅读 · 0 评论 -
未公开文档函数的调用
在编写驱动程序的过程中,会经常遇到要调用一些没有在文档中公开的函数,这个该如何处理呢?其实在内核中调用不像ring3层那样麻烦,只需要重新声明一下,下面就以ZwQuerySystemInformation为例示范一下:NTKERNELAPINTSTATUSZwQuerySystemInformation( IN ULONG SystemInformationClass转载 2012-10-30 16:37:15 · 556 阅读 · 0 评论 -
VS2008如何编译出一个64位的程序
安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。虽然标题写着如何在VS2008中编译,但其实2005也是类似。1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。 2. 选择“x64”平台,点击确定按钮。 3.这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出转载 2012-11-11 09:10:10 · 654 阅读 · 0 评论 -
Injecting Code Into Privileged Win32 Processes
For a while now, I've been searching for the optimal way to inject code into privileged Win32 processes like lsass.exe, csrss.exe, and winlogon.exe.There are many functions such as the LSA and SAM e转载 2012-10-17 11:12:08 · 948 阅读 · 0 评论 -
PowerShell 2.0 实践(一)操作文件系统
PowerShell是微软着力打造的下一代脚本语言,基于.NET Framework,功能强大,易于扩展,与微软及其第三方公司的许多产品进行了集成。Windows 7和Windows Server 2008 R2已经内置了PowerShell 2.0,其他操作系统需要单独下载,可以在这里下载。示例脚本下载本系列所有脚本均在Windows Server 2008 R2(Pow转载 2017-01-16 21:24:16 · 837 阅读 · 0 评论