关于修复弹窗被360弹窗拦截器拦截的问题的解决案例的分享

360安全卫士广告净化指南:官方设置与系统级优化实操 软件广告弹窗是影响用户体验和系统性能的常见问题,其原理通常是软件通过内置模块或系统任务计划主动推送商业信息。从技术价值看,有效管理广告不仅能提升操作流畅度,还能减少不必要的资源占用和安全风险。在应用场景上,对于360安全卫士这类集成度高的安全软件,直接卸载可能损失核心防护功能,因此通过官方设置进行精细化配置成为更优解。本文基于主动防御和任务计划管理等热词,详细解析如何通过软件内部选项关闭产品推荐、场景化推广等模块,并结合系统级加固技巧防止设置反弹,最终实现安全与纯净的平衡。 阅读详情

一、查找问题

收到反馈说编码器被360弹窗拦截器拦截,经测试发现强力模式下也并没有直接拦截,但是会出现提示框;猜测有可能是用户不小心添加过滤了或者其他版本会有拦截,导致编码器被关闭无法正确编码。查找资源后发现,弹窗拦截是通过发送Windows消息触发隐藏和关闭的。

于是考虑先把编码器生成后接受到的消息打印出来查看分析。

由于WPF本身是有对消息和窗口句柄等进行封装的,所以需要重新去添加using System.Windows.Interop; 这个namespace中所包含的东西主要是为 Windows Presentation Foundation (WPF) 和其他技术(如 Win32API)之间的互操作提供支持类型,并为涉及 WPF 的其他特定互操作方案提供基类。在WPF中使用WindowProc,首先要获得一个HWND句柄(一个IntPtr类型),然后通过创建一个HwndSource对象,再通过调用这个对象中的AddHook方法来添加WindowProc。其中HwndSource实现包含 WPF 内容的 Win32 窗口。WPF 内容在此窗口中排列、度量、呈现,并且可交互式输入。HwndSource 类设计用于一般的交互操作,而不是设计用作托管 HWND 包装。通常,它不会提供操作窗口的托管方法或检测其状态的属性。相反,HwndSource类提供通过 Handle 属性对 Win32 窗口句柄 (HWND) 的访问,可通过 PInvoke 技术将其传递到 Win32 APIs 以操作该窗口。

现在开始进行挂钩,可以通过添加SourceInitialized的事件处理函数引发添加,直接重载OnSourceInitialized函数来添加。下面是通过添加处理函数的方式实现。
在这里插入图片描述
此外也有两种获取HwndSource的方法
在这里插入图片描述
上面为将窗口作为互操作方案的源生成HwndSource。
在这里插入图片描述
下面则通过WindowInteropHelper获取窗口句柄,通过句柄来生成。然后通过挂钩上消息处理函数自定义的WndProc。对于WinForm可以直接重载WndProc函数protected override void WndProc(ref Message m) 然后在窗体显示时Shown添加过滤即可。WPF中再添加窗口内容呈现的处理函数进行过滤把窗口创建呈现之后产生的消息打印到桌面。
protected virtual IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)前四个参数跟MSG结构体的意义一致,最后一个handled则代表这个消息是否告诉系统已经处理结束,是否需要继续放行传递让其他的方法执行。
在这里插入图片描述
大致生成了如下消息,通过拦截与不拦截、生成窗口后再添加拦截等测试,经分析,主要是自定义消息49642以及
WM_SHOWWINDOW = 24 (0x0018)当隐藏或显示窗口是发送此消息给这个窗口
WM_CLOSE = 16(0x0010) 当一个窗口或应用程序要关闭时发送一个信号的问题。
在这里插入图片描述

二、验证方法

经过对已拦截的消息的分析,先对已知的消息进行相关测试。

  1. 既然获取到了WM_SHOWWINDOW(wParam = 0x000000)隐藏窗口以及WM_CLOSE,能否直接拦截过滤掉,把handled设置为True告诉系统已经处理过。
    在这里插入图片描述
    结果:
    能够正常编码生成文件,但是窗口消失。
  2. 既然无法直接通知系统已关闭,能否收到隐藏窗体时,直接调用ShowWindow的方法直接把窗体显示。
    在这里插入图片描述
    结果:
    无论是否更改handled的值告诉系统或者更改显示窗体的方法,都无法在收到隐藏窗体消息的时候发出显示窗体的消息重新显示窗体。
  3. 由于无法在收到隐藏窗体消息的时候直接显示窗体,所以需要查找出错的环节,首先验证在窗体被隐藏后能否通过发送消息显示出来。
    结果:
    通过外部程序发送显示的消息WM_SHOWWINDOW(wParam = 0x000001)能够正常显示;
    编辑此区域
    接下来验证是否是所调用的方法出现错误,把该函数以及参数新建到一个控制台程序在窗体隐藏时运行。
Win32.ShowWindow(hwnd, Win32.SW_SHOW);(在Win32中定义如下)
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
//ShowWindow参数
public const int SW_SHOW = 1;

结果:
经测试发现可以把窗体唤醒显示。因此初步判断异常出现在接收到隐藏窗体消息时无法正确显示。
4. 在WM_SHOWWINDOW(wParam = 0x000000)的执行过程中添加LogHelper记录,通过对比相关消息发现,确实有进入执行该步骤,但却无法显示窗体,推测窗体处于要隐藏但尚未隐藏的状态,即收到要隐藏的消息,但窗体的wParam还是等于1的,而且在WM_SHOWWINDOW(wParam = 0x000000)这个消息的处理中发出WM_SHOWWINDOW(wParam = 0x000001)消息有被微软本身做出相关处理,不执行。
在这里插入图片描述

  1. 验证在WM_SHOWWINDOW(wParam = 0x000000)消息之后发出显示窗体的消息能否把窗体显示,即在WM_CLOSE中处理。
    在这里插入图片描述
    结果:
    能够正确在360弹窗拦截器隐藏窗口发出关闭消息后马上显示窗体,拦截次数从9次变成10次并且不会被再次隐藏。
    此外,在使用外部软件显示窗体时,会被拦截器再次拦截,故把handled值改为False测试,发现在显示之后还是会被拦截,推测是360弹窗拦截器有对消息做重复检测,但通过handled=True告诉系统已经处理过,让弹窗拦截器无法截获该消息,认为窗体已经正确关闭。至此,已经解决360弹窗拦截的问题,以上就是我对修复该问题的分析流程。
弹出式窗口拦截器(严格)「Popup Blocker (strict)」-crx插件 严格拦截任何网站的所有弹窗请求 弹出式窗口拦截器(strict)是一个轻量级的扩展,用于防止网站打开弹出式窗口(而其他弹出式窗口拦截器则是这种扩展在创建之后不会阻止弹出窗口,但是一旦请求被阻止)。该扩展暂停了用户关注的各种窗口打开请求。您可以接受或拒绝请求。数组中显示了多个唯一的请求。如果网站多次请求单个网址,则会显示一个徽章编号,指出对此特定网址的请求总数。 请注意,扩展名最近从“弹出窗口阻止程序(最终)”更名为“弹出窗口阻止程序(严格)” 选项: 1.拒绝弹出请求 2.允许弹出请求 3.在后台选项卡中打开弹出式请求 4.将当前页面重定向到弹出的URL源 支持的阻止方法: 1. window.open 2. a-> target = _blank 有关错误报告,请转到: https://github.com/schomery/popup-blocker/issues 有关常见问题,请转到: http://add0n.com/popup-blocker.html 为了测试你当前的弹出窗口阻止程序的有效性, http://tools.add0n.com/popup-blocker.html --- 您现在可以将Popup Blocker(严格)翻译成您的语言; https://www.transifex.com/github-7/popup-blocker-strict/ --- 更改日志: 版本0.2.8: 1.如果鼠标悬停在弹出通知上,则计数器停止计数,以便用户可以查看弹出请求 2.将鼠标悬停在弹出窗口中,也会在工具提示中显示请求的URL 3.一些内部代码错误修复应用。 版本0.3.0: 1.现在可以通过右键单击工具栏按钮来允许或拒绝上一个操作 2.如果选中选项,弹出窗口阻止程序将执行预定义的操作,而不显示通知面板。 版本0.3.8: `。解决了一个问题:WordPress的编辑器没有对齐文本。 支持语言:Deutsch,English,Français,Türkçe,español,português (Brasil),svenska,中文 (简体),한국어 立即下载

相关推荐

阻止弹窗程序 弹窗免疫程序

目前我做的只是阻止弹出对话框,是根据窗口标题来阻止的,启动程序后在编缉控件中输入窗口标题,如果要输入多个就用空格或回车隔开,然后按开始就可以在以此为标题对话框在刚建立时就被自动关闭,就像没看到它们出现一样. 如果要阻止所有窗口,可以去Hook类中把 WM_INITDIALOG改为WM_CREATE就可以了.这个程序主要用于学习,并没有为实际使用而做过多改善,还请各位前辈们不吝指出它的不足之处,共同学习. 此程序用MFC做的.

window.showModalDialog在firefox被拦截的解决(全网独家)

全网独家解决方案,自己研究出来的成果。 老版的firefox支持window.showModalDialog,新版的据说不支持了,因为开发的是老系统,浏览器固定用老版的火狐。现在的问题是showModalDialog执行20次左右时被浏览器强制拦截,浏览器设置白名单不生效了,网上搜不到,怎么改设置都不管用。 研究后我认为要么是浏览器底层的不支持,这种情况是没法改了。网上火狐论坛的人也说这showM...

north hunter 1803

龙虾 Skill 技能库|OpenClaw+Hermes 全集成 一键调用所有 AI 技能

龙虾 Skill 技能库、OpenClaw、Hermes Agent、AI 技能集成、本地 AI 自动化、办公工具、数字员工

weixin_42219287的博客 624

分享一套Android快速开发模板,包含常用主流框架,下载即用。

BaseLibrary 本库旨在开发项目时能快速搭建框架,提供较为常用的开发工具。建议下载作为依赖库, 便于修改。部分功能会仅在demo中有体现,请详细看完demo。(新手请进,大神退散) github:github.com/MirkoWu/Bas… 下面介绍本库的主要内容 1. MVP模式(变种) Model :使用 Retrofit + OkHttp + RxJava 框架 View :Act...

weixin_34384557的博客 1143

PointMLP实战:5分钟用PyTorch搭建点云分类模型(附GitHub代码)

本文提供了基于ICLR 2022论文PointMLP的点云分类模型实战教程。通过PyTorch框架,详细介绍了从环境搭建、数据预处理、模型架构解析到训练推理的全流程,并分享了性能调优技巧。该模型利用残差MLP模块构建,结构清晰高效,适合开发者快速上手并应用于实际点云处理项目。

r2s3t4的博客 215

IAR for ARM 搭建STM32F103C8T6工程模板(实战指南)

本文详细介绍了如何在IAR for ARM开发环境中为STM32F103C8T6微控制器搭建完整的工程模板。从环境准备、固件库获取、目录结构设计到工程配置与编译调试,提供了实战指南和常见问题解决方案,帮助开发者快速建立稳定的STM32开发环境。

fun88的博客 988

程序员接副业避雷!

代码层强制校验支付方式(实战代码): // 支付路由拦截器(uni-app) const PAYMENT_TYPES = [『wechat』];合同精细化条款(核心条款) 维护条款 - 免费期:交付后 7 天(仅限修复程序崩溃级 Bug) - 收费标准: 页面样式调整:200 元/次 功能新增:500 元/人天 紧急支持:300 元/次(2 小时内响应)每日 22:00 自动发送日报(邮件模板): 今日完成:支付对接、订单列表 风险报告:未收到商品图素材。避坑点 2:数据裸奔危机(曾因未备份赔过 3 万)

zyyccc_的博客 597

CSP-J/S复赛文件组织与freopen读写全攻略,避免爆零

在信息学竞赛的上机考试中,代码能力固然重要,但文件组织与输入输出重定向往往是决定成败的关键细节。许多选手习惯在线评测环境,对本地文件命名、目录层级和读写方式缺乏系统认知,导致算法正确却因文件名拼写错误或freopen使用不当而遗憾失分。理解评测系统的工作原理,掌握从建立准考证号目录到规范命名源文件,再到使用freopen进行文件流重定向的标准流程,是每位参赛者的必备技能。这种工程化习惯不仅适用于CSP-J/S复赛,也是未来参加NOI等更高水平竞赛的基础。本文从文件组织的底层逻辑出发,结合实战案例,系统讲解考

weixin_32466193的博客 593

Hanime1Plugin:为Android动漫爱好者打造纯净流畅的观影体验

在Android设备上观看动漫内容时,用户常常面临广告干扰、播放卡顿和功能限制等痛点。Hanime1Plugin作为一款开源的Android插件,专门针对hanime1.me网站优化,通过与主流动漫播放应用的无缝集成,为用户提供纯净、流畅的观影体验。这款插件不仅解决了广告屏蔽问题,还增强了播放控制功能,是动漫爱好者的理想选择。 ## 核心痛点与解决方案分析 ### 常见观影困扰 当前Andro

gitblog_00444的博客 4368

医药领域知识图谱快速及医药问答项目(项目全过程)

该项目是中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目 Github项目地址:mirrors / liuhuanyong / qasystemonmedicalkg · GitCode 一、项目环境搭建 该部分要十分注意,由于版本升级的问题,一些用法及格式已经不兼容了。 python3.8 下载地址:Python Release Python 3.8.10 | Python.orght...

qq_52062182的博客 9916

飞书云文档API操作详细介绍

开通云文档API、python程序调用飞书api、飞书获取app_id和app_secret、

Brother_ning的博客 1万+

Multisim电路仿真入门:从安装避坑到相量测量与教学实战

电路仿真作为电子类专业核心实践能力,其本质是将抽象的基尔霍夫定律、戴维南等效、正弦稳态分析等理论转化为可测、可控、可验证的物理过程。Multisim凭借深度集成的SPICE引擎、实时可视化仪器(如示波器、万用表)和虚实联动能力(如一键部署至myDAQ),成为高校‘电路分析’‘模电数电’实验的首选工具。它不追求芯片级精度,而聚焦教学确定性——例如通过瞬态分析暴露亚稳态毛刺,或借助DC工作点分析量化LED驱动电流,真正实现‘建模即理解’。本文围绕multisim访问主数据库发生错误、multisim示波器交流电

488

redhawk:avgTW maxTW minTW minWC的区别

分析dynamic ir drop报告时会遇到这几个值,avgTW maxTW minTW minWC,如下图。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 694

网络安全小白也能轻松入门?这份指南让你秒变防护达人,从零基础入门到精通,收藏这一篇就够了!

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

2301_79455190的博客 413

【零基础入门unity游戏开发——unity通用篇14】unity特性相关的知识(基于unity6开发介绍)

unity特性相关的知识(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1204

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2026面试预判及实际面试

本文摘要总结了多个前端开发岗位的面试问题和答案,涵盖Vue3、ECharts、数据可视化、JavaScript核心概念等内容。 Vue3高频问题 组合式API相比选项式API的优势在于逻辑内聚、更好的TS支持和复用性。 状态管理推荐Pinia,轻量且支持组合式API风格。 动态路由和权限控制通过router.addRoute和路由守卫实现。 响应式原理基于Proxy和Reflect,解决了Vue2的局限性。 ECharts与数据可视化 性能优化包括数据聚合、懒渲染和dataZoom区域缩放。

Mr.小灰狼_随笔 580

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

手机kindle导入本地书_别再说不会用手机传书至Kindle了,方法都在这儿!

最近,经常有小伙伴问静读君,怎么用手机传书到Kindle 上?确实,我们一般常用的磁盘传书虽然挺方便的,但是毕竟得在电脑上才能进行,相比之下,如果手机能直接传书到Kindle 上,那会方便得多!今天,静读君便为大家分享几个,可以用手机直接传书至Kindle 的方法:1、百度云一键传书准备:首先,你需要一个iOS 系统手机(安卓的各位可以直接跳到第二条了)其次,手机上需要事先安装好 Kin...

weixin_39972777的博客 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

弹出新页面被拦截处理方法总结

1.说明: 一般情况下,如果你直接在js中调用window.open()函数去打开一个新窗口,浏览器会拦截你,认为你将弹出广告等用户不想得到的窗体,所以如果不想让浏览器拦截你,你可以将这个函数改为用户点击时触发,这样浏览器就认为是用户想访问这个页面,而不是你直接弹出给用户。    2.策略: 如何让浏览器认为就是用户想访问这个网页,下面有两种策略,分别对应了两种情况: 1

叔叔有糖吃的专栏 3413
下一篇: TortoiseSVN忽略文件和文件夹上传的方法分享
Maniacs·楚
博客等级 码龄10年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值