吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3790|回复: 124

[原创] XP驱动加载器

  [复制链接]
aswcy483875672 发表于 2021-11-12 21:25 | 显示全部楼层 |阅读模式

本帖最后由 aswcy483875672 于 2021-11-13 19:54 编辑

windows xp运行没啥问题,64位暂时还没有研究
使用说明:拖拽文件到界面,即可进行安装与卸载
成品下载地址:
https://www.lanzoui.com/iaTFhvwp7rc?w
核心源码:
[C] 纯文本查看 复制代码
#include<windows.h>
#include<winioctl.h>
#include<stdio.h>
#include <winsvc.h>
#include <conio.h>
#pragma comment(lib, "Advapi32.lib")
TCHAR szPath[MAX_PATH] = { 0 };
TCHAR szFileName[MAX_PATH] = { 0 };

void GetFileName() {
        int i = strlen(szPath);
        int index = 0;
        while (szPath[i] != '\\') {
                i--;
        }

        while (i < strlen(szPath)) {
                szFileName[index++] = szPath[++i];
        }
}

void CMFCApplication1Dlg::OnDropFiles(HDROP hDropInfo)
{
        UINT nCount = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0);
        for (UINT i = 0; i < nCount; ++i)
        {
                DragQueryFile(hDropInfo, i, szPath, MAX_PATH);
                //MessageBox(szPath);
        }
        DragFinish(hDropInfo);

        SetWindowText(szPath);
        UpdateData(FALSE);

        GetFileName();
}

void CMFCApplication1Dlg::LoadDriver(){
        BOOL bRet = FALSE;
        SC_HANDLE hServiceMgr = NULL;//SCM绠$悊鍣ㄧ殑鍙ユ焺  
        SC_HANDLE hServiceDDK = NULL;//NT椹卞姩绋嬪簭鐨勬湇鍔″彞鏌? 
        //鎵撳紑鏈嶅姟鎺у埗绠$悊鍣? 
        hServiceMgr = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
        if (hServiceMgr == NULL)
        {
                //OpenSCManager澶辫触  
                SetWindowText("OpenSCManager() Faild");
                bRet = FALSE;
                goto BeforeLeave;
        }
        else
        {
                ////OpenSCManager鎴愬姛  
                printf("OpenSCManager() ok ! /n");
        }
        //鍒涘缓椹卞姩鎵?瀵瑰簲鐨勬湇鍔? 
        hServiceDDK = CreateService(hServiceMgr,
                szFileName, //椹卞姩绋嬪簭鐨勫湪娉ㄥ唽琛ㄤ腑鐨勫悕瀛?   
                szFileName, // 娉ㄥ唽琛ㄩ┍鍔ㄧ▼搴忕殑 DisplayName 鍊?   
                SERVICE_ALL_ACCESS, // 鍔犺浇椹卞姩绋嬪簭鐨勮?闂?潈闄?   
                SERVICE_KERNEL_DRIVER,// 琛ㄧず鍔犺浇鐨勬湇鍔℃槸椹卞姩绋嬪簭    
                SERVICE_DEMAND_START, // 娉ㄥ唽琛ㄩ┍鍔ㄧ▼搴忕殑 Start 鍊?   
                SERVICE_ERROR_IGNORE, // 娉ㄥ唽琛ㄩ┍鍔ㄧ▼搴忕殑 ErrorControl 鍊?   
                szPath,//娉ㄥ唽琛ㄩ┍鍔ㄧ▼搴忕殑 ImagePath 鍊?   
                NULL,
                NULL,
                NULL,
                NULL,
                NULL);
        DWORD dwRtn;
        //鍒ゆ柇鏈嶅姟鏄?惁澶辫触  
        if (hServiceDDK == NULL)
        {
                dwRtn = GetLastError();
                if (dwRtn != ERROR_IO_PENDING && dwRtn != ERROR_SERVICE_EXISTS)
                {
                        //鐢变簬鍏朵粬鍘熷洜鍒涘缓鏈嶅姟澶辫触  
                        SetWindowText("CrateService() Faild");
                        bRet = FALSE;
                        goto BeforeLeave;
                }
                else
                {
                        //鏈嶅姟鍒涘缓澶辫触锛屾槸鐢变簬鏈嶅姟宸茬粡鍒涚珛杩? 
                        SetWindowText("CrateService() Faild Service is ERROR_IO_PENDING or ERROR_SERVICE_EXISTS!");
                }
                // 椹卞姩绋嬪簭宸茬粡鍔犺浇锛屽彧闇?瑕佹墦寮?    
                hServiceDDK = OpenService(hServiceMgr, szFileName, SERVICE_ALL_ACCESS);
                if (hServiceDDK == NULL)
                {
                        //濡傛灉鎵撳紑鏈嶅姟涔熷け璐ワ紝鍒欐剰鍛抽敊璇? 
                        dwRtn = GetLastError();
                        SetWindowText("OpenService() Faild");
                        bRet = FALSE;
                        goto BeforeLeave;
                }
                else
                {
                        SetWindowText("OpenService() ok");
                }
        }
        else
        {
                SetWindowText("CrateService() ok");
        }
        //寮?鍚??椤规湇鍔? 
        bRet = StartService(hServiceDDK, NULL, NULL);
        if (!bRet)
        {
                DWORD dwRtn = GetLastError();
                if (dwRtn != ERROR_IO_PENDING && dwRtn != ERROR_SERVICE_ALREADY_RUNNING)
                {
                        SetWindowText("StartService() Faild");
                        bRet = FALSE;
                        goto BeforeLeave;
                }
                else
                {
                        if (dwRtn == ERROR_IO_PENDING)
                        {
                                //璁惧?琚?寕浣? 
                                SetWindowText("StartService() Faild");
                                bRet = FALSE;
                                goto BeforeLeave;
                        }
                        else
                        {
                                //鏈嶅姟宸茬粡寮?鍚? 
                                SetWindowText("StartService() Faild");
                                bRet = TRUE;
                                goto BeforeLeave;
                        }
                }
        }
        bRet = TRUE;
        //绂诲紑鍓嶅叧闂?彞鏌? 
BeforeLeave:
        if (hServiceDDK)
        {
                CloseServiceHandle(hServiceDDK);
        }
        if (hServiceMgr)
        {
                CloseServiceHandle(hServiceMgr);
        }
}

void CMFCApplication1Dlg::UnLoadDriver(){
        BOOL bRet = FALSE;
        SC_HANDLE hServiceMgr = NULL;//SCM绠$悊鍣ㄧ殑鍙ユ焺  
        SC_HANDLE hServiceDDK = NULL;//NT椹卞姩绋嬪簭鐨勬湇鍔″彞鏌? 
        SERVICE_STATUS SvrSta;
        //鎵撳紑SCM绠$悊鍣? 
        hServiceMgr = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
        if (hServiceMgr == NULL)
        {
                //甯﹀紑SCM绠$悊鍣ㄥけ璐? 
                SetWindowText("OpenSCManager() Faild");
                bRet = FALSE;
                goto BeforeLeave;
        }
        else
        {
                //甯﹀紑SCM绠$悊鍣ㄥけ璐ユ垚鍔? 
                SetWindowText("OpenSCManager() ok !");
        }
        //鎵撳紑椹卞姩鎵?瀵瑰簲鐨勬湇鍔? 
        hServiceDDK = OpenService(hServiceMgr, szFileName, SERVICE_ALL_ACCESS);
        if (hServiceDDK == NULL)
        {
                //鎵撳紑椹卞姩鎵?瀵瑰簲鐨勬湇鍔″け璐? 
                SetWindowText("OpenService() Faild");
                bRet = FALSE;
                goto BeforeLeave;
        }
        else
        {
                SetWindowText("OpenService() ok !");
        }
        //鍋滄?椹卞姩绋嬪簭锛屽?鏋滃仠姝㈠け璐ワ紝鍙?湁閲嶆柊鍚?姩鎵嶈兘锛屽啀鍔ㄦ?佸姞杞姐??   
        if (!ControlService(hServiceDDK, SERVICE_CONTROL_STOP, &SvrSta))
        {
                SetWindowText("ControlService() Faild");
        }
        else
        {
                SetWindowText("ControlService() ok !");
                //鎵撳紑椹卞姩鎵?瀵瑰簲鐨勫け璐? 
        }
        //鍔ㄦ?佸嵏杞介┍鍔ㄧ▼搴忋??   
        if (!DeleteService(hServiceDDK))
        {
                //鍗歌浇澶辫触  
                SetWindowText("DeleteSrevice() Faild");
        }
        else
        {
                //鍗歌浇鎴愬姛  
                SetWindowText("DelServer:eleteSrevice() ok !");
        }
        bRet = TRUE;
BeforeLeave:
        //绂诲紑鍓嶅叧闂?墦寮?鐨勫彞鏌? 
        if (hServiceDDK)
        {
                CloseServiceHandle(hServiceDDK);
        }
        if (hServiceMgr)
        {
                CloseServiceHandle(hServiceMgr);
        }

}

此处有版主编辑,查毒分析地址为:https://sandbox.ti.qianxin.com/s ... e4d0700d87be8cc2ae1




1_UEBDBBISMHASE]B(SXO]P.png

评分

参与人数 28HB +24 THX +14 收起 理由
虚心学习 + 1
消逝的过去 + 2
af521 + 1
DeeDarrick + 1
thunderiser + 1
别管我了行 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
allenzjb + 1 + 1
雪很冷 + 1
我是好人 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
king51999 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
ialove + 1
h112233h456 + 1
leo999 + 1
huchi1 + 1
pmm018 + 1
曦照 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
阿桂哥 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
GCYDADA + 1 编码有问题呀,注释全乱码了
beijita520 + 1
wanghan2022 + 1
ding520 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
youbaizi + 1
白云点缀的蓝 + 2 + 1 [快捷评语]--评分=感恩!简单却充满爱!感谢您的作品!
ST手怎么白了 + 2 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
boot + 1 [快捷评语]--积极评分,从我做起。感谢分享!
superfasst + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
52bug + 3 + 1 [快捷评语]--积极评分,从我做起。感谢分享!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
superfasst 发表于 2021-11-13 07:30 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
gzhi521 发表于 2021-11-13 08:54 | 显示全部楼层

学习学习!!!!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
dzxushuai 发表于 2021-11-13 22:29 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
LuckyClover 发表于 2021-11-14 08:34 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
消逝的过去 发表于 2021-11-16 09:12 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
fatiao 发表于 2021-11-16 22:31 | 显示全部楼层

谢谢分享!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
491140000 发表于 2021-11-16 22:47 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
豆0o0豆 发表于 2021-11-16 23:51 | 显示全部楼层

感谢分享  
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
wangyou2022 发表于 2021-11-17 13:08 | 显示全部楼层

下载后怎么用呢..
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表