91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.05MB
    文件類型: .rar
    金幣: 2
    下載: 2 次
    發(fā)布日期: 2023-08-27
  • 語言: 其他
  • 標(biāo)簽: 源碼??

資源簡介

《寒江獨釣:Windows內(nèi)核安全編程》從Windows內(nèi)核編程出發(fā),全面系統(tǒng)地介紹了串口、鍵盤、磁盤、文件系統(tǒng)、網(wǎng)絡(luò)等相關(guān)的Windows內(nèi)核模塊的編程技術(shù),以及基于這些技術(shù)實現(xiàn)的輸入密碼保護、防毒引擎、文件加密、網(wǎng)絡(luò)嗅探、網(wǎng)絡(luò)防火墻等信息安全軟件的核心組件的具體編程。主要知識重點包括:Windows串口與鍵盤過濾驅(qū)動、 Windows虛擬存儲設(shè)備與存儲設(shè)備過濾驅(qū)動、Windows文件系統(tǒng)過濾驅(qū)動、文件系統(tǒng)透明加密/解密驅(qū)動、Windows各類網(wǎng)絡(luò)驅(qū)動(包括TDI 過濾驅(qū)動及3類NDIS驅(qū)動),以及最新的WDF驅(qū)動開發(fā)模型。有助于讀者熟悉Windows內(nèi)核驅(qū)動的體系結(jié)構(gòu),并精通信息安全類的內(nèi)核編程技術(shù)。本書的大部分代碼具有廣泛的兼容性,適合從Windows 2000一直到目前最新的Windows 7 Beta版。

資源截圖

代碼片段和文件信息

///
///?@file comcap.c
///?@author crazy_chu
///?@date 2008-6-18
///?

#include?
#define?NTSTRSAFE_LIB
#include?

#ifndef?SetFlag
#define?SetFlag(_F_SF)???????((_F)?|=?(_SF))
#endif
#ifndef?ClearFlag
#define?ClearFlag(_F_SF)?????((_F)?&=?~(_SF))
#endif
#define?CCP_MAX_COM_ID?32

//?過濾設(shè)備和真實設(shè)備
static?PDEVICE_object?s_fltobj[CCP_MAX_COM_ID]?=?{?0?};
static?PDEVICE_object?s_nextobj[CCP_MAX_COM_ID]?=?{?0?};

//?打開一個端口設(shè)備
PDEVICE_object?ccpOpenCom(ULONG?idNTSTATUS?*status)
{
UNICODE_STRING?name_str;
static?WCHAR?name[32]?=?{?0?};
PFILE_object?fileobj?=?NULL;
PDEVICE_object?devobj?=?NULL;

//?輸入字符串。
memset(name0sizeof(WCHAR)*32);
RtlStringCchPrintfW(
name32
L“\\Device\\Serial%d“id);
RtlInitUnicodeString(&name_strname);

//?打開設(shè)備對象
*status?=?IoGetDeviceobjectPointer(&name_str?FILE_ALL_ACCESS?&fileobj?&devobj);
if?(*status?==?STATUS_SUCCESS)
ObDereferenceobject(fileobj);

return?devobj;
}

NTSTATUS
ccpAttachDevice(
PDRIVER_object?driver?
PDEVICE_object?oldobj
PDEVICE_object?*fltobj?
PDEVICE_object?*next)
{
NTSTATUS?status;
PDEVICE_object?topdev?=?NULL;

//?生成設(shè)備,然后綁定之。
status?=?IoCreateDevice(driver
0
NULL
oldobj->DeviceType
0
FALSE
fltobj);

if?(status?!=?STATUS_SUCCESS)
return?status;

//?拷貝重要標(biāo)志位。
if(oldobj->Flags?&?DO_BUFFERED_IO)
(*fltobj)->Flags?|=?DO_BUFFERED_IO;
if(oldobj->Flags?&?DO_DIRECT_IO)
(*fltobj)->Flags?|=?DO_DIRECT_IO;
if(oldobj->Flags?&?DO_BUFFERED_IO)
(*fltobj)->Flags?|=?DO_BUFFERED_IO;
if(oldobj->Characteristics?&?FILE_DEVICE_SECURE_OPEN)
(*fltobj)->Characteristics?|=?FILE_DEVICE_SECURE_OPEN;
(*fltobj)->Flags?|=??DO_POWER_PAGABLE;
//?綁定一個設(shè)備到另一個設(shè)備上
topdev?=?IoAttachDeviceToDeviceStack(*fltobjoldobj);
if?(topdev?==?NULL)
{
//?如果綁定失敗了,銷毀設(shè)備,重新來過。
IoDeleteDevice(*fltobj);
*fltobj?=?NULL;
status?=?STATUS_UNSUCCESSFUL;
return?status;
}
*next?=?topdev;

//?設(shè)置這個設(shè)備已經(jīng)啟動。
(*fltobj)->Flags?=?(*fltobj)->Flags?&?~DO_DEVICE_INITIALIZING;
return?STATUS_SUCCESS;
}

//?這個函數(shù)綁定所有的串口。
void?ccpAttachAllComs(PDRIVER_object?driver)
{
ULONG?i;
PDEVICE_object?com_ob;
NTSTATUS?status;
for(i?=?0;i {
//?獲得object引用。
com_ob?=?ccpOpenCom(i&status);
if(com_ob?==?NULL)
continue;
//?在這里綁定。并不管綁定是否成功。
ccpAttachDevice(drivercom_ob&s_fltobj[i]&s_nextobj[i]);
//?取消object引用。
}
}

#define??DELAY_ONE_MICROSECOND??(-10)
#define??DELAY_ONE_MILLISECOND?(DELAY_ONE_MICROSECOND*1000)
#define??DELAY_ONE_SECOND?(DELAY_ONE_MILLISECOND*1000)

void?ccpUnload(PDRIVER_object?drv)
{
ULONG?i;
LARGE_INTEGER?interval;

//?首先解除綁定
for(i=0;i {
if(s_nextobj[i]?!=?NULL)
IoDetachDevice(s_nextobj[i]);
}

//?睡眠5秒。等待所有irp處理結(jié)束
interval.QuadPart?=?(5*1000?*?DELAY_ONE_MILLISECOND);
KeDelayExecutionThread(KernelModeFALSE&interval);

//?刪除這些設(shè)

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????......R??????2058??2009-04-28?22:03??source_code\DP\DP.vcproj

????......R??????2623??2009-03-20?20:43??source_code\DP\DP.vcproj.MAC.xiao.yang.user

????......R??????3633??2009-04-28?21:18??source_code\DP\DP.vcproj.old

????......R?????10236??2009-03-20?00:44??source_code\DP\DPBitmap.c

????......R??????1864??2009-03-20?00:44??source_code\DP\DPBitmap.h

????......R?????29772??2009-03-16?09:31??source_code\DP\DPMain.c

????......R??????4733??2009-03-12?14:11??source_code\DP\DPMain.h

????......R???????286??2009-04-28?22:38??source_code\DP\buildchk_wnet_x86.log

????......R???????519??2009-03-12?22:23??source_code\DP\buildchk_wxp_x86.log

????......R???????286??2009-04-28?22:38??source_code\DP\buildfre_wnet_x86.log

????......R???????508??2009-03-06?13:21??source_code\DP\clean.bat

????......R???????891??2009-03-06?13:21??source_code\DP\makefile

????......R???????177??2009-04-28?22:05??source_code\DP\my_build.bat

????......R???????111??2008-12-11?21:24??source_code\DP\my_clean.bat

????......R????????75??2009-03-11?11:57??source_code\DP\sources

????......R??????6394??2009-04-30?16:52??source_code\Kb_sniff_Mp\KbRelated.c

????......R???????412??2009-05-06?09:47??source_code\Kb_sniff_Mp\KbRelated.h

????......R?????12489??2009-05-06?09:47??source_code\Kb_sniff_Mp\Kb_sniffMp.c

????......R??????1421??2009-05-05?15:49??source_code\Kb_sniff_Mp\Kb_sniffMp.h

????......R???????975??2009-05-09?11:08??source_code\Kb_sniff_Mp\Kb_sniffMp.sln

????.....HR?????13824??2009-05-14?21:45??source_code\Kb_sniff_Mp\Kb_sniffMp.suo

????......R??????1718??2009-05-09?11:03??source_code\Kb_sniff_Mp\Kb_sniffMp.vcproj

????......R??????6578??2008-11-07?01:24??source_code\Kb_sniff_Mp\Kb_sniffMp.vcproj.7.10.old

????......R??????1444??2009-05-07?09:52??source_code\Kb_sniff_Mp\Kb_sniffMp.vcproj.NEC-9F096F6DE5D.admin.user

????......R??????1432??2009-05-07?13:12??source_code\Kb_sniff_Mp\Kb_sniffMp.vcproj.NECAS-SJL.wowocock.user

????......R??????3239??2009-05-09?11:02??source_code\Kb_sniff_Mp\Kb_sniffMp.vcproj.old

????......R???????267??2003-02-05?03:23??source_code\Kb_sniff_Mp\MAKEFILE

????......R????????79??2008-11-07?01:14??source_code\Kb_sniff_Mp\SOURCES.bak

????......R??????4261??2009-04-30?16:11??source_code\Kb_sniff_Mp\UpgradeLog.xml

????......R??????3348??2009-04-30?16:11??source_code\Kb_sniff_Mp\_UpgradeReport_Files\UpgradeReport.css

............此處省略348個文件信息

評論

共有 條評論