您正在查看 "windows sdk开发" 分类下的文章
2011-07-14 12:16
2009-07-19 16:48
从硬盘中找出来的一段代码。已不知道原始出处了。贴出来。
#define WIN32_LEAN_AND_MEAN
#define _WIN32_WINNT 0x400
#include <stdio.h>
#include <tchar.h>
#include <locale.h>
#include <windows.h>
#include <psapi.h>
#include |
2009-07-06 11:31
好久没顾得上写blog了,感谢一直关注本blog的朋友。获取线程当前状态,是挂起还是终止,没有直接的API.这里把自己经常用的这段代码贴出来,与大家分享吧。
#include <stdio.h>
#include <windows.h>
#include <winbase.h>
#include <ntsecapi.h>
#define UNICODE
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
#define STATUS_SUCCESS ((NTSTATUS) 0x00000000)
# |
2008-12-18 1:22
InternetOpen,InternetOpenUrl,InternetReadFile,InternetWriteFile,InternetCloseHandle
这些由Wininet.dll导出的函数很强大。 可以实现自动发帖,注册。以及访问网页,执行网页下载等等功能。还可以用实现程序在线自动升级,我简单整理了一下。
【一、自动发帖,注册】
#include "winsock2.h"
#include "stdio.h"
#include "Wininet.h"
#pragma comment (lib,"Wininet.lib")
void |
2008-09-05 15:43
理论:
基本概念就是通过文件句柄获取文件所在的簇列表。然后直接打开硬盘,根据簇所在的位置,直接读取文件数据。
方法1:可以通过打开"\\\\.\\PHYSICALDRIVE0",读取MBR,然后根据MBR中的DPT,找到活动分区的偏移,定位到DBR。然后将要定位簇的文件打开,获取文件句柄,将文件句柄传递给DeviceIoControl的FSCTL_GET_RETRIEVAL_POINTERS功能,就可以得到 |
2008-08-17 15:25
理论:(原作者:张海栗)
定时器是一个在特定时间或者规则间隔被激发的内核对象。结合定时器的异步程序调用可以允许回调函数在任何定时器被激发的时候执行。本文的例子代码显示了如何实现。
使用本定时器时,你需要把常量_WIN32_WINNT定义为0x0400,并且此常量应该在头文件之前定义,以确保声明合适的定时器原型函数。
通过调用CreateWaitableTimer()可以创建一个定时器,此函数返回一个指向内核对象的句柄。若定时器已经存在,你可以通过使用 OpenWaitableT |
2008-08-16 1:09
理论:
关于APC概念方面的介绍,前面已经有专文详细的说明了,在这里不再重复了。本篇我们主要谈谈利用APC实现向一个运行中的进程注入自己的代码的用法。
向一个运行中的进程注入自己的代码,常见的办法有全局钩子,以及CreateRemoteThread实现的远程线程注入,如今远线程注入已经是泛滥成灾,杀毒软件对于远程线程已经做了检查和警示。
用户态代码想要更隐蔽地藏身于别的进程,就应该在注入的环节隐蔽自己的行为。本篇给出的示例为在Explorer |
2008-08-15 12:07
(接上篇内容)
BOOL EnablePrivilege(HANDLE hToken,LPCTSTR szPrivName,BOOL fEnable)
{
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
LookupPrivilegeValue(NULL,szPrivName,&tp.Privileges[0].Luid);
tp |
2008-08-14 16:41
理论:
本篇我们将通过一个例子,来大致了解下windows的安全策略。
实现windows安全性的安全组件和数据库有:
1。安全引用监视器 Security reference monitor (简称SRM) 如图,这是位于核心态windows执行体中的一个组件。它负责:
1)定义访问令牌数据结构来表示一个安全环境。
2)执行对象的安全访问检查
3)管理特权(用户权限)
4) 生成所有的结果安全审计消息。 |
2008-08-12 16:08
代码:见光盘GetSerialNo
#include "windows.h"
#include "PlkUsbIo.h"
#include <malloc.h>
#define NUM_HCS_TO_CHECK 10
/******************************************************************/
bool EnumUsbDevice();
PCHAR GetDriverKeyName(HANDLE Hub, ULONG ConnectionIndex);
PCHAR GetHCDDriverKeyName(HANDLE HCD);
PCHAR GetRootHubName(HANDLE HostController);
PCHAR Wi |