专栏首页盟主来了2020.7.2日报:禁用IE的证书管理弹窗

2020.7.2日报:禁用IE的证书管理弹窗

IE有很多比较恶心的弹窗。一般是用put silient禁用。但ie的证书弹窗,禁用了的话,页面就不继续加载了。

目前发现有三种方法。一种是直接hook 掉InternetErrorDlg。直接不弹窗。注意hook 函数里不是直接返回0,

要:

        DWORD old_flags = 0;         DWORD return_bytes = sizeof(DWORD);         InternetQueryOption(hRequest, 99, &old_flags, &return_bytes);

        ignore_flags |= old_flags;         InternetSetOption(hRequest, 99, &ignore_flags, sizeof(ignore_flags));

这样设置一下。

第二种方法,翻了下windows源码,见:

private\inet\urlmon\iapp\cnethttp.cxx

HRESULT CINetHttp::HttpSecurityProblem(HWND* phwnd, DWORD dwProblem)

里面有句_pHttSecurity->OnSecurityProblem(dwProblem);。

https://www.codesd.com/item/ignore-ssl-security-alerts-from-the-web-browser-in-the-console-application.html

这文章写了怎么重载。不过我没看懂C++怎么实现。

三是逆向wininet的代码发现,会走CoInternetIsFeatureEnabled(0x14, 2). 这里也许可以设置一下。不过好像没成功。

参考:

https://chromium.googlesource.com/chromium/chromium/+/master/chrome_frame/urlmon_url_request.cc

G:\mycode\wxWidgets-3.1.3\src\msw\webview_ie.cpp

     user32.dll!_DialogBox2@16()    未知    非用户代码。已加载符号。      user32.dll!_InternalDialogBox@24()    未知    非用户代码。已加载符号。      user32.dll!_DialogBoxIndirectParamAorW@24()    未知    非用户代码。已加载符号。      user32.dll!_DialogBoxParamW@20()    未知    非用户代码。已加载符号。      wininet.dll!_IsolationAwareDialogBoxParamW@20()    未知    非用户代码。已加载符号。      wininet.dll!LaunchDlg()    未知    非用户代码。已加载符号。      wininet.dll!LaunchInternetErrorDlg()    未知    非用户代码。已加载符号。      wininet.dll!InternetErrorDlg    未知    非用户代码。已加载符号。 >    fast_mb.exe!Hook_InternetErrorDlg 行 2391    C++    已加载符号。      urlmon.dll!CINetHttp::HttpSecurity 行 4001    C++    非用户代码。已加载符号。      urlmon.dll!CINetHttp::HandleHttpSecurityError 行 2214    C++    非用户代码。已加载符号。      urlmon.dll!CINetHttp::QueryStatusOnResponse 行 2092    C++    非用户代码。已加载符号。      urlmon.dll!CINet::QueryInfoOnResponse 行 6561    C++    非用户代码。已加载符号。      urlmon.dll!CINet::INetQueryInfo 行 4306    C++    非用户代码。已加载符号。      urlmon.dll!CINet::OnINetInternal 行 5793    C++    非用户代码。已加载符号。      urlmon.dll!CINet::Continue 行 1447    C++    非用户代码。已加载符号。      urlmon.dll!COInetProt::Continue 行 556    C++    非用户代码。已加载符号。

>    user32.dll!_NtUserGetMessage@16()    未知    非用户代码。已加载符号。      user32.dll!_GetMessageW@16()    未知    非用户代码。已加载符号。      mshtml.dll!InternalShowModalDialog()    未知    非用户代码。已加载符号。      mshtml.dll!_ShowModalDialog@20()    未知    非用户代码。已加载符号。      ieframe.dll!CDocHostUIHandler::ShowErrorDialog()    未知    非用户代码。已加载符号。      ieframe.dll!CDocHostUIHandler::Exec    未知    非用户代码。已加载符号。      mshtml.dll!CWindow::ShowErrorDialog    未知    非用户代码。已加载符号。      mshtml.dll!COmWindowProxy::Fire_onerror    未知    非用户代码。已加载符号。      mshtml.dll!CMarkup::ReportScriptError    未知    非用户代码。已加载符号。      mshtml.dll!CActiveScriptHolder::OnScriptError    未知    非用户代码。已加载符号。      jscript9.dll!08638edd()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll![下面的框架可能不正确和/或缺失,没有为 jscript9.dll 加载符号]    未知    未加载任何符号。      jscript9.dll!086395f0()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll!0863958c()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll!0863953b()    未知    非用户代码。无法查找或打开 PDB 文件。      msvcrt.dll!__CallSettingFrame@12()    未知    非用户代码。已加载符号。      msvcrt.dll!_CallCatchBlock2()    未知    非用户代码。已加载符号。      msvcrt.dll!std::bad_exception::_Doraise()    未知    非用户代码。已加载符号。      msvcrt.dll!___CxxExceptionFilter()    未知    非用户代码。已加载符号。      msvcrt.dll!___CxxExceptionFilter()    未知    非用户代码。已加载符号。      msvcrt.dll!___InternalCxxFrameHandler()    未知    非用户代码。已加载符号。      msvcrt.dll!___CxxFrameHandler()    未知    非用户代码。已加载符号。      ntdll.dll!ExecuteHandler2@20()    未知    非用户代码。已加载符号。      ntdll.dll!ExecuteHandler@20()    未知    非用户代码。已加载符号。      03ca0fc1()    未知    非用户代码      03ca0fc1()    未知    非用户代码      jscript9.dll!084c705b()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll!084c4a62()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll!08532b36()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll!08553171()    未知    非用户代码。无法查找或打开 PDB 文件。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 18.7.8-9日报

    原因是他在oncreatewebview回调的时候(也就是网易页面调用window.open的时候),错误的把老webview当新的传给mb。

    龙泉寺扫地僧
  • 18.7.10日报

    1,修复electron模式加载electron-ui这个例子的一系列bug,原因是没实现window.addEventListener("storage", ...

    龙泉寺扫地僧
  • 17.11.11日报

    2,继续看加载慢的问题,大概可以用postTask加个优先级搞定。原版blink的调度器其实是有优先级概念的,这样加载任务会比绘制任务更快得到执行

    龙泉寺扫地僧
  • 预测未来的20幅漫画,有种细思恐极的感觉

    导读:在你心目中的(不太遥远的)未来是什么样的?名为Futurism Cartoons的作者绘制了一系列以“未来”为主题的漫画,其中多幅跟人工智能及你大数据有关...

    华章科技
  • 解决Visual Studio 2010过卡的问题

    装了Visual Assists 插件后,开发中经常会导致整个电脑都处于“挂起”的状态,任务管理器都打不开。后来修改了一下设置,现在已经正常了…

    meteoric
  • 程武畅谈互动娱乐新生态:关键词“连接”与“突破”

    12月17日,在今天举行的2014年度中国游戏产业年会上,腾讯公司副总裁程武作为企业代表首先登台,“连接”与“突破”成为他本次发言的两大关键词。在...

    腾讯研究院
  • Jdk14 都要出了,Jdk9 的新特性还不了解一下?

    Java 新特性系列已经从 Java 7 开始补充到 Java 9 了,每一篇的反馈都还不错。这个系列会持续更新到 Java 13 版本,然后在每个 Java...

    未读代码
  • Jdk14 都要出了,Jdk9 的新特性还不了解一下?

    Java 9 中最大的亮点是 Java 平台模块化的引入,以及模块化 JDK。但是 Java 9 还有很多其他新功能,这篇文字会将重点介绍开发人员特别感兴趣的几...

    Java_老男孩
  • Jdk14 都要出了,Jdk9 的新特性还不了解一下?

    Java 新特性系列已经从 Java 7 开始补充到 Java 9 了,每一篇的反馈都还不错。这个系列会持续更新到 Java 13 版本,然后在每个 Java ...

    黄泽杰
  • markdown测试

    但老师

扫码关注云+社区

领取腾讯云代金券