当前位置: 首页 > news >正文

营销型网站规划步骤软件工程师证书报考网站

营销型网站规划步骤,软件工程师证书报考网站,中山石岐网站建设,关于网站开发的期刊RW-Everything的RwDrv.sys驱动调用 一、RwDrv.sys二、示例代码三、总结 一、RwDrv.sys RW-Everything是一个硬件底层的工具#xff0c;可用于物理内存、BIOS、PCI和IO端口的查看和修改#xff0c;其基于驱动RwDrv.sys来实现#xff0c;利用这个驱动可以实现系统的侵入。 二… RW-Everything的RwDrv.sys驱动调用 一、RwDrv.sys二、示例代码三、总结 一、RwDrv.sys RW-Everything是一个硬件底层的工具可用于物理内存、BIOS、PCI和IO端口的查看和修改其基于驱动RwDrv.sys来实现利用这个驱动可以实现系统的侵入。 二、示例代码 使用服务来加载RwDrv驱动打开Win Object对象通过调用DeviceIoControl通信调用 #include Windows.h #include stdio.h#define RW_DRIVER_ID RwDrv// type of access: U8 0; U16 1, U32 2, ref to READ_REGISTER_BUFFER_UCHAR / USHORT / ULONG typedef struct {DWORD64 physicalAddress;DWORD size;DWORD access;DWORD64 buffer; } PhysRw_t;typedef struct {DWORD low;DWORD pad;DWORD reg;DWORD high; } MSRRw_t;HANDLE hDrv;DWORD LoadDriver() {TCHAR sDrv[MAX_PATH] {0};GetFullPathName(RwDrv.sys, MAX_PATH, sDrv, NULL);//check driver existWIN32_FIND_DATA findData;HANDLE hFile FindFirstFile(sDrv, findData);if(hFile INVALID_HANDLE_VALUE){printf(Driver File Doesnt Exist, errno %d.\n, GetLastError());return -1;}//establishes a connection to the service control managerSC_HANDLE hSCM OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);if(hSCM NULL){printf(Open SCM Failed, errno %d.\n, GetLastError());return -1;}//create a service object and add to SCMSC_HANDLE hSrv CreateService(hSCM, RW_DRIVER_ID, RW_DRIVER_ID, SC_MANAGER_ALL_ACCESS, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, sDrv, NULL, NULL, NULL, NULL, NULL);if(hSrv NULL){if(GetLastError() ! ERROR_SERVICE_EXISTS){CloseHandle(hSCM);printf(Create Service Failed, errno %d.\n, GetLastError());return -1;}}//open servicehSrv OpenService(hSCM, RW_DRIVER_ID, SERVICE_ALL_ACCESS);if(hSrv NULL){CloseHandle(hSCM);printf(Open Service Failed, errno %d.\n, GetLastError());return -1;}//start serviceif(!StartService(hSrv, 0, NULL)){if(GetLastError() ! ERROR_SERVICE_ALREADY_RUNNING){CloseHandle(hSCM);CloseServiceHandle(hSrv);printf(Start Service Failed, errno %d.\n, GetLastError());return -1;}}//create or open device object, see Win32 Device Namespaces section //of https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file//and https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfileahDrv CreateFile(\\\\.\\RW_DRIVER_ID, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);if(hDrv INVALID_HANDLE_VALUE){CloseHandle(hSCM);CloseServiceHandle(hSrv);printf(Create File Failed, errno %d.\n, GetLastError());return -1;}return 0; }DWORD UnloadDriver() {SC_HANDLE hSCM OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);if(hSCM NULL){printf(Open SCM Failed, errno %d.\n, GetLastError());return -1;}SC_HANDLE hSrv OpenService(hSCM, RW_DRIVER_ID, SERVICE_ALL_ACCESS);if(hSrv NULL){CloseHandle(hSCM);printf(Open Service Failed, errno %d.\n, GetLastError());return -1;}SERVICE_STATUS status;if (!ControlService(hSrv, SERVICE_CONTROL_STOP, status)) {CloseHandle(hSCM);CloseHandle(hDrv);printf(Stop Service Failed, errno %d.\n, GetLastError());return -1;}CloseHandle(hSCM);CloseHandle(hDrv);return 0; }BOOL isElevated() {HANDLE hToken NULL;if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, hToken)) {TOKEN_ELEVATION Elevation;DWORD cbSize sizeof(TOKEN_ELEVATION);if (GetTokenInformation(hToken, TokenElevation, Elevation, sizeof(Elevation), cbSize)) {return Elevation.TokenIsElevated;}}if (hToken) {CloseHandle(hToken);}return FALSE; }void readMem(DWORD64 address, const DWORD64* buffer, DWORD size, DWORD access 0) {PhysRw_t tPhyMem;tPhyMem.physicalAddress address;tPhyMem.size size;tPhyMem.access access;tPhyMem.buffer (DWORD64)buffer;DeviceIoControl(hDrv, 0x222808, tPhyMem, sizeof(tPhyMem), tPhyMem, sizeof(tPhyMem), NULL, NULL); } void writeMem(DWORD64 address, const DWORD64* buffer, DWORD size, DWORD access 0) {PhysRw_t tPhyMem;tPhyMem.physicalAddress address;tPhyMem.size size;tPhyMem.access access;tPhyMem.buffer (DWORD64)buffer;DeviceIoControl(hDrv, 0x22280C, tPhyMem, sizeof(tPhyMem), NULL, 0, NULL, NULL); }void readMSR(int reg, LARGE_INTEGER value) {MSRRw_t tMSR;tMSR.low 0;tMSR.pad 0;tMSR.reg reg; tMSR.high 0;DeviceIoControl(hDrv, 0x222848, tMSR, sizeof(tMSR), tMSR, sizeof(tMSR), NULL, NULL);value.LowPart tMSR.low;value.HighPart tMSR.high; } void writeMSR(int reg, LARGE_INTEGER value) {MSRRw_t tMSR;ZeroMemory(tMSR, sizeof(tMSR));tMSR.reg reg;tMSR.low value.LowPart;tMSR.high value.HighPart;DeviceIoControl(hDrv, 0x22284C, tMSR, sizeof(tMSR), tMSR, sizeof(tMSR), NULL, NULL); }int main() {//Check UACif(isElevated() FALSE){printf(This program requires run as administrator.\n);return 0;}LoadDriver();//Read MemDWORD64 buf[1] {0};readMem(0x0000CCCC, buf, 1);/*DWORD64 buf[16] {0};readMem(0x0000CCCC, buf, 2, 1);*/printf(read mem %x\n, buf[0]);//Read MsrLARGE_INTEGER value;readMSR(0x20, value);printf(read msr high part %08x, low part %08x\n, value.HighPart, value.LowPart);UnloadDriver();return 0; }三、总结 合法的签名驱动可以调用内核的很多方法来实现系统或硬件的控制但对于一些情况我们无法申请签名可以借用第三方驱动来实现其次这种方式是一种高风险的漏洞。
http://www.hkea.cn/news/14333849/

相关文章:

  • 淮安市建设局网站首页seo优化厂商
  • 外卖网站建设的策划书企业名称自主申报
  • 建筑网站制作wordpress 营销页面
  • 网站建设培训总结做网站要多少钱联系方式
  • 网站模板图片网站设置密码进入
  • 接单子做网站营销网站建设平台
  • 网站如何做视频教程通州建设网站
  • 电子商务企业网站建设发展论文金融网站制作
  • 宿州网站建设网页版浏览器怎么设置
  • 建站网站软件8电商怎么做如何从零开始
  • 网站后台工程师东莞网站建设培训
  • 汕头市网站建设公司常州网站设计湛江公司电话
  • 做房产的网站排名wordpress安装主题后打不开
  • 手机代理网址徐州关键词优化如何
  • 福永招聘网站建设浙江五联建设有限公司网站
  • 网站制作引擎深圳网站推广外包
  • 怎样通过网盘做电影网站试玩网站源码
  • 做公司网站需要准备什么wordpress精简版下载地址
  • 专业网站建设网站推广城市建设模拟游戏官方网站
  • 招商网站建设做外贸无法登录国外网站怎么办
  • 手机验证登录网站开发建设网站招标
  • 制作网站的最大公司村网站建设计划书
  • 快递系统查询网站怎么做淘宝代运营服务
  • 徐州好点的做网站的公司wordpress瀑布流主 #65533;
  • phpcms 手机网站后台360免费wifi下载
  • 都安网站建设深圳创业补贴10万
  • 江西建设三类人员网站平定住房建设局网站
  • 经典 网站什么是百度竞价
  • 网页设计与制作课件清华大学百度竞价和优化的区别
  • 兰州做网站的公司做网站建设一年能赚多少