#include<windows.h>#include<stdio.h>#include<stdlib.h>#include<tchar.h>#defineSERVICE_NAME"SDK_Service"SERVICE_STATUSServiceStatus;SERVICE_STATUS_HANDLEhServiceStatusHandle;voi
#include"stdafx.h"#include<string>#include<Windows.h>#include<Shlwapi.h>#pragmacomment(lib,"ole32.lib")#pragmacomment(lib,"shlwapi.lib")#pragmacomment(lib,"shell32.lib")#defineRTL_MA
1ULONGLONGGetKeServiceDescriptorTable64()//我的方法{PUCHARStartSearchAddress=(PUCHAR)__readmsr(0xC0000082);PUCHAREndSearchAddress=StartSearchAddress+0x500;PUCHARi=NULL;UCHARb1=0,b2=0,b3=0;ULONGtemplong=0;
https://j00ru.vexillium.org/syscalls/nt/64/?tdsourcetag=s_pcqq_aiomsg
https://blog.csdn.net/mofabang/article/details/49678729
https://github.com/haidragon/ShitDrv/blob/master/ShitDrv/UtilsApi.h#ifndef__UTILS_API_H__#define__UTILS_API_H__typedefstruct_FILE_STREAMHANDLE_CONTEXT{BOOLEANm_bNewFile;FILE_INFORMATION_CLASSm_QueryTy
#include<ntddk.h>#include<windef.h>#include<ntstrsafe.h>//输入\\??\\c:-->\\device\\\harddiskvolume1//LinkTarget.Buffer注意要释放NTSTATUSQuerySymbolicLink(INPUNICODE_STRINGSymbolicLinkNam
voidtest();BOOLEANDosPathToNtPathA(CHAR*FullDosPath,CHAR*FullNtPath);BOOLEANNtPathToDosPathA(CHAR*FullNtPath,CHAR*FullDosPath);BOOLEANDosPathToNtPathW(WCHAR*FullDosPath,WCHAR*FullNtPath);BOOLEANNtPath
主动防御
这其实是wdk里面的文件但是没安装没有这里就搞出来为了查看方便/*++BUILDVersion:0005//IncrementthisifachangehasglobaleffectsCopyright(c)MicrosoftCorporation.Allrightsreserved.ModuleName:ntstatus.hAbstract:ConstantdefinitionsfortheNT
由于在公司自己写的代码交给测试时老是有那种我这边正常测试那边老是崩溃的情况。调试除了windbgOD等其时还可以简单定位崩溃点。这是在自己搞linux时产生的想法。linux有非常强大的调试机制。原理是源码编译时会生成汇编代码与机器码。同时有对应的地址行号等待。开始操作。环境2017写段空指针代码。#include"stdafx.h"intmain(intargc,_TCHAR*argv[]){c
来自:https://blog.csdn.net/apxar/article/details/10517475有俩个问题第一参数一定要用UNICODE_STRING或者PUNICODE_STRING原因会拷贝时出现在乱拷贝如一个目录有xxx.exexxx.exe*它有可能找不到文件有可能拷贝的是后面那个因为传进来的有乱码它匹配哪个是哪个没匹配到报0xc00000033第二读文件权限太多读文件GEN
#include"stdafx.h"#include<windows.h>#include"mountmgr.h"#include<tchar.h>#include<stdio.h>#pragmacomment(lib,"Crypt32.lib")intmain(){TCHARchDrive='N',szUniqueId[128];TCHARszDeviceNa
由于入口有保存了驱动注册表信息,可以直接获取绝对路径:读取注册表项值函数//读取注册表项值NTSTATUSGetRegKeyValue(INPWCHARpwcReg,INPWCHARpwcKey,INULONGulType,INOUTPBYTEpbyValue,INULONGulSize){NTSTATUSiStatus=STATUS_SUCCESS;HANDLEhKey=NULL;UNICODE
通过命令方式TCHARszFetCmd[]=_T("wmicbaseboardgetserialnumber");可以有:先决条件:a.启动WindowsManagementInstrumentation服务,开放TCP135端口。b.本地安全策略的“网络访问:本地帐户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”。wmic/node:"192.168.1
vs版本2015wdk版本7600.16385.1原因是因为vs不可能安装所有系统wdk,同时安装低版本就配置太麻烦。主要原因是服务器不可能给你安装个vs让你编译的。vs生成项目后,或者拿别人的vs项目后。进入代码主目录。编写makefilemakefile.inc(不是必须文件)。和sourcesmakefile!INCLUDE$(NTMAKEENV)\makefile.defmakefile.
效果:源码:https://github.com/haidragon/TDIMon/upload
1.找到不ntddk.h解决:sources加上INCLUDES=$(WDMROOT);$(DDK_INC_PATH)
效果图:NTSTATUSNTAPIRtlQueryEnvironmentVariable_U(PWSTREnvironment,PCUNICODE_STRINGName,PUNICODE_STRINGValue){NTSTATUSStatus;PWSTRwcs;UNICODE_STRINGvar;PWSTRval;BOOLEANSysEnvUsed=FALSE;DbgPrint("RtlQuery
最后效果图:思路:由于ramdisk已经初始化了一个虚拟盘,实现是直接就是一个链接,但是会有问题(http://www.cnblogs.com/God4/articles/1814057.html)我后面的思路是既然直接出盘符不能用,那就我把这个虚拟盘挂载到c的一个目录下面。这里是C:/Game,也就是C:/Game不是一个目录而是一个虚拟盘了。由于有链接还是会有个R盘,但是不能访问。
最后结果(但是有点问题不能格式化)源码是ramdisk:https://github.com/haidragon/ramdisk_wdf安装时要注意的点是:第一要用inf安装第二要找到对应的dll库在inf文件里面(安装了驱动环境就会自带)第三找到安装工具安装了驱动环境就会自带(注意版本这里是win64)第四root下命令安装:.\devcon.exeinstallramdisk.inframdi
MicrosoftWindows[版本10.0.16299.64](c)2017MicrosoftCorporation。保留所有权利。C:\Windows\system32>bcdeditWindows启动管理器--------------------标识符{bootmgr}devicepartition=\Device\HarddiskVolume1path\EFI\Microsoft\
IoGetDeviceProperty例程检索有关设备的信息,如配置信息和其PDO的名称。比如获取pdo的classidhttps://blog.csdn.net/u011471873/article/details/78904041
效果可以参考源码:tdiksocket等:https://github.com/haidragon/sokit
由于EzDriverInstaller只能到win1032位64位用不了这个用的是官方工具devcon.exe这个只要安装了wdk开发环境就有在c盘还需要个库(这个是安装wdf需要的)WdfCoInstallerxxxxxxx.dll也在c盘(这里是WdfCoInstaller01011.dll)wdm这里用的张帆的源码(为想测试怎么编译别人的驱动)这里有win1032位下编译教程:http://
PCI的classcode表https://blog.csdn.net/pankul/article/details/8603632?tdsourcetag=s_pcqq_aiomsgUSB命令请求及描述符详解https://blog.csdn.net/xqhrs232/article/details/77750028usbView源码:https://github.com/haidragon/u
脚本:.bat@echooffcolor0crem设置"HKEY_LOCAL_MACHINE\Win10\ControlSet001\Enum\PCI"的所有者为:Administratros>>test.infecho.[Version]>>test.infecho.Signature="$Chicago$">>test.infecho.>>tes
![](http://i2.51cto.com/images/blog/201811/16/18d0f46378d26cbd49e33b2a988beb92.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3po
wdk下HalGetBusData不能用了。加上感觉png方式太麻烦。自己修改了驱动开发技术详解上的代码直接在驱动下获取信息#include"Driver.h"NTSTATUSDriverEntry(INPDRIVER_OBJECTpDriverObject,INPUNICODE_STRINGpRegistryPath){NTSTATUSstatus;//判断CPU类型CPUType();//枚举
entry.c#include"Driver.h"NTSTATUSDriverEntry(INPDRIVER_OBJECTpDriverObject,INPUNICODE_STRINGpRegistryPath){NTSTATUSstatus;//判断CPU类型CPUType();KdPrint(("EnterDriverEntry\n"));//DbgBreakPoint();//设置卸载函数p
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号