w11修改ie保护模式方法
IE安全设置下有4个区域 对应的设置在不同的注册表中。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1] 是Local intranet相关操作,如果要修改受Local intranet 下的保护模式设置,请修改该项下的键2500
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2] 是受信任的站点相关操作,如果要修改受信任站点 下的保护模式设置,请修改该项下的键2500
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3] 是Intranet相关操作,如果要修改Intranet下的保护模式设置,请修改该项下的键2500
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\4] 是受限制的站点相关操作,如果要修改受限制的站点下的保护模式设置,请修改该项下的键2500
IE保护模式通过修改下面这个注册表项即可,[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
2500 = 0x0 (开启),0x3(关闭)。
这里介绍下操作注册表的 几个Windows API函数
打开注册表
https://docs.microsoft.com/zh-cn/windows/desktop/api/winreg/nf-winreg-regopenkeyexa
LONG WINAPI RegOpenKeyEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpSubKey,
_In_ DWORD ulOptions,
_In_ REGSAM samDesired,
_Out_ PHKEY phkResult
);
查找注册表项的值
https://docs.microsoft.com/zh-cn/windows/desktop/api/winreg/nf-winreg-regqueryvalueexa
LONG WINAPI RegQueryValueEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpValueName,
_Reserved_ LPDWORD lpReserved,
_Out_opt_ LPDWORD lpType,
_Out_opt_ LPBYTE lpData,
_Inout_opt_ LPDWORD lpcbData
);
设置注册表项的值
https://docs.microsoft.com/zh-cn/windows/desktop/api/winreg/nf-winreg-regsetvalueexa
LONG WINAPI RegSetValueEx(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpValueName,
_Reserved_ DWORD Reserved,
_In_ DWORD dwType,
_In_ const BYTE *lpData,
_In_ DWORD cbData
);
代码实现
主要就是上面3个Windows API 函数的实现,下面直接看代码实现吧。直接用devc++ 编译运行即可。
#include <Windows.h>
#include <stdio.h>
bool checkIEProtectMode()
{
HKEY hKEY;
if ( ERROR_SUCCESS == ::RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", 0, KEY_QUERY_VALUE, &hKEY ) )
{
DWORD PerfData = 0;
DWORD m_type = REG_DWORD;
DWORD BufferSize = sizeof(DWORD);
if ( ERROR_SUCCESS == RegQueryValueEx( hKEY, "2500", NULL, &m_type, (LPBYTE)&PerfData, &BufferSize ) )
{
if ( PerfData == 3 )
{
printf("IE保护模式当前状态:关闭\n");
RegCloseKey( hKEY );
return false;
}
}
}
RegCloseKey( hKEY );
printf("IE保护模式当前状态:打开\n");
return true;
}
bool openIEProtectMode()
{
HKEY hKEY;
if ( ERROR_SUCCESS == ::RegOpenKeyEx( HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", 0, KEY_ALL_ACCESS, &hKEY ) )
{
DWORD m_Dword = 0;
if( ERROR_SUCCESS == ::RegSetValueEx( hKEY,"2500",0,REG_DWORD,(PBYTE)&m_Dword,sizeof(DWORD)) )
{
printf("打开IE保护模式成功!\n");
return true;
}
}
RegCloseKey( hKEY );
printf("打开IE保护模式失败!\n");
return false;
}
bool closeIEProtectMode()
{
HKEY hKEY;
if ( ERROR_SUCCESS == ::RegOpenKeyEx( HKEY_CURRENT_USER,"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3", 0, KEY_ALL_ACCESS, &hKEY ) )
{
DWORD m_Dword = 3;
if( ERROR_SUCCESS == ::RegSetValueEx( hKEY,"2500",0,REG_DWORD,(PBYTE)&m_Dword,sizeof(DWORD)) )
{
printf("关闭IE保护模式成功!\n");
return true;
}
}
RegCloseKey( hKEY );
printf("关闭IE保护模式失败!\n");
return false;
}
int main(int args, char** argv)
{
if (checkIEProtectMode() )
{
closeIEProtectMode();
checkIEProtectMode();
} else
{
openIEProtectMode();
checkIEProtectMode();
}
return 0;
}
运行效果
刚开始是关闭的
运行程序,已经通过程序打开了。


w11修改ie保护模式方法的更多相关文章
- 自制操作系统Antz(5)——深入理解保护模式与进入方法
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs. ...
- redis之禁用保护模式以及修改监听IP
今天在安装filebeat的时候,出现了关于redis报错的问题,所以来总结一下: 报错信息是: (error) DENIED Redis is running in protected mode b ...
- ASM:《X86汇编语言-从实模式到保护模式》第17章:保护模式下中断和异常的处理与抢占式多任务
★PART1:中断和异常概述 1. 中断(Interrupt) 中断包括硬件中断和软中断.硬件中断是由外围设备发出的中断信号引发的,以请求处理器提供服务.当I/O接口发出中断请求的时候,会被像8259 ...
- ASM:《X86汇编语言-从实模式到保护模式》第15章:任务切换
15章其实应该是和14章相辅相成的(感觉应该是作者觉得14章内容太多了然后切出来了一点).任务切换和14章的某些概念是分不开的. ★PART1:任务门与任务切换的方法 1. 任务管理程序 14章的时候 ...
- ASM:《X86汇编语言-从实模式到保护模式》第14章:保护模式下的特权保护和任务概述
★PART1:32位保护模式下任务的隔离和特权级保护 这一章是全书的重点之一,这一张必须要理解特权级(包括CPL,RPL和DPL的含义)是什么,调用门的使用,还有LDT和TSS的工作原理(15章着重 ...
- ASM:《X86汇编语言-从实模式到保护模式》第11章:进入保护模式
★PART1:进入保护模式 1. 全局描述符表(Global Descriptor Table,GDT) 32位保护模式下,如果要使用一个段,必须先登记,登记的信息包括段的起始地址,段的 ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(10)-保护业务方法
前面已经讲过关于保护Web资源的方式,其中包括直接在XML文件中配置和自定义实现FilterInvocationDefinitionSource接口两种方式.在实际企业应用中,保护Web资源显得非常重 ...
- Linux操作系统基础(四)保护模式内存管理(2)【转】
转自:http://blog.csdn.net/rosetta/article/details/8570681 Linux操作系统基础(四)保护模式内存管理(2) 转载请注明出处:http://blo ...
- 聊聊Dataguard的三种保护模式实验(上)
Data Guard是Oracle高可用性HA的重要解决方案.针对不同的系统保护需求,DG提供了三种不同类型的保护模式(Protection Mode),分别为:最大保护(Maximum Protec ...
- CPU保护模式深入探秘
原文链接为:http://www.chinaunix.net/old_jh/23/483510.html 保护方式的体系结构 主要问题: 保护方式的寄存器模型 保护 ...
随机推荐
- 上分准备 VP Codeforces Round #762 (Div. 3) 4题ABCE
+00:02 +00:16 +01:08 +02:07 VP 情况 4/8 ABCE ,赛时排名可以到823,什么时候我可以上个青 B 本想写个map的二分的,发现自己不会,写了个普普通通的二分 ...
- ReactHooks_useState
import { useState } from "react"; import './App.css'; function App() { const [redBorder, ...
- MySQL数据库本地连接失败
前提: MySQL5.5 + SQLyog软件,从安装开始一直可以正常使用 现象: 用SQLyog软件登录,显示本地连接失败.怀疑可能是MySQL服务没有开启,结果发现服务里面找不到MySQL这一条( ...
- HOOK大法
// 请求头hook 测试网站同花顺 OK var header_old = window.XMLHttpRequest.prototype.setRequestHeader;window.XMLHt ...
- [.Net]Framwork WebAPI添加接口请求监控
思路: 通过重写 ActionFilterAttribute 拦截Action的请求及返回信息,实现对接口请求的监听. 最终效果如下: 全局启用需配置如下: 局部启用需配置如下: 源码如下: 1 // ...
- Redis学习(黑马篇)
1.redis是一个键值型数据库即在Redis内存的数据都是键值对的格式,如: 2.NOSQL非关系型数据库与MySQL关系型数据库对比: 非结构化类型分为:键值类型(Redis)(value支持多种 ...
- 网站下/.git/index查看
遇见有些网站目录中存在 http://target.com/.git/index 由于index是二进制文件 下载回来本地查看 初始化 下载到.git目录 git checkout-index -a
- python调用adb shell
最近在用python做一个小工具,自动执行一些adb shell命令,使用subprocess.Popen来实现. 不过遇到个问题就是执行adb shell后就无法执行后面adb shell里的命令了 ...
- 【chatQA】nvm包版本管理
如何使用nvm来管理不同版本的 Node.js,然后使用不同的 Node.js 版本来运行不同版本的 React 应用? 要使用 nvm 来管理不同版本的 Node.js,可以按照以下步骤进行操作: ...
- Python查找存储区0KB文件并记录下地址
查找存储区域中0KB大小文件,可以根据需要变更指定大小. #-*- coding: utf-8 -*- #!/usr/bin/python from os.path import isdir,absp ...