火绒安全6.0 弹窗拦截组件独立版制作教程
授人以鱼不如授人以渔,学会此教程,从此不求人
·
火绒安全弹窗拦截组件独立版
资源链接:https://wwl.lanzoub.com/b00uyb850f
密码:1234
注意事项:
- 由于部分开发工具不支持中文编码,为了方便测试,脚本和exe的文档与注释均采用英文编写。如有需要,建议使用翻译软件。
- 由于两个脚本均涉及到了注册表编译和特殊文件的增删,所以你必须以管理员身份运行它们。如有需要,请提前备份整个注册表并创建系统还原点。
hash.exe
用于校验脚本内容的完整性。- 双击或在cmd中输入
hash
即可自动验证程序所在目录中的wr_db.bat
和del_db.bat
是否已被人篡改。 - 输入
hash -h
或hash -help
即可查看帮助文档(英文),了解更多用法。文档内容和风格以PowerShell 7.4 LTS的Get-FileHash命令的帮助文档为基准进行了修改,输入结果的格式会因窗口大小和结果字符串长度而变化,支持12种哈希算法,默认为SHA256。 hash
基于OpenSSL 3.3.1的crypto库,使用C语言(C23标准)进行开发,数据处理速度约为220MB/s。正在根据NIST.FIPS 180-4和202标准开发SHA-2和SHA-3系列算法,旨在脱离OpenSSL但不大幅影响性能的前提下,进一步缩小软件大小。
- 双击或在cmd中输入
测试环境
处理器
:AMD Ryzen 7 7735H with Radeon Graphics 3.20 GHz机带RAM
:SAMSUNG DDR5 4800 16×2GB外存
:Solidigm P44 Pro 4T系统类型
:Windows 11 Professional
脚本原理
- 虽然
wr_db.bat
的文件名是写入db文件,但其实它做的事情不止这些。- 查找当前目录(脚本的工作目录)及其子目录中是否存在
popblk.db
(忽略大小写)。若不存在,则脚本执行结束;若存在,进入步骤2。 - 依次检查
C:\ProgramData\
和C:\Documents and Settings\All Users\Application Data\
是否存在。若都不存在,则脚本结束;若其中之一存在,将该目录记为dst_base
,进入步骤3。 - 将
popblk.db
复制到%dst_base%Huorong\Sysdiag\db\
中(若不存在中间目录,则自动创建)。若xcopy
指令出错,则此步骤中的所有操作均不会生效,脚本异常结束;若指令未出错,则进入步骤4。 - 编辑注册表。在注册表项
HKLM\SOFTWARE
中新建项Huorong\Sysdiag\app
,在app
项中新建字符串值,数值名称为DataPath
,数值数据为%dst_base%Huorong\Sysdiag
。若指令reg add
出错,则脚本异常结束;若指令未出错,则进入步骤5. - 结束。
- 查找当前目录(脚本的工作目录)及其子目录中是否存在
- 同理,
del_db.bat
也不仅仅是删除db文件。- 如果
C:\ProgramData\Huorong\Sysdiag\db\popblk.db
和C:\Documents and Settings\All Users\Application Data\Huorong\Sysdiag\db\popblk.db
都不存在(忽略文件名大小写),则脚本结束;否则,进入步骤2。 - 删除Windows任务计划程序
Huorong PopBlock
。如果db
文件夹中仅有popblk.db
,则删除整个Huorong
文件夹以及注册表项HKLM\SOFTWARE
的子项Huorong
;如果db
文件夹中还存在其他.db
文件,则仅删除popblk.db
。
- 如果
[!Tips]
- 非编程小白
- 如果你有编程经验,我相信你完全可以根据文件夹中的微软官方cmd文档或在线文档写出全自动的bat/cmd脚本:自动从本机搜索出必要文件,然后将它们重新组织起来以便程序能正常工作,在不需要这些组件时可以自动删除所有相关文件。
- 要是你觉得bat脚本功能太弱小,语法让人难以适应等,你也可以用PowerShell编写更加强大的跨平台脚本;
- 或者用你熟悉的语言编写出自动化程序,如果你希望其他人也能直接使用它,那么将其打包成某个或某些平台的可执行文件是个不错的选择。
- 编程小白
- 如果你用的是Windows系统,那么你可以去网上搜索一下bat脚本编写教程,只需学习半小时左右,你就能自己编写出简单的bat脚本了,也能大致看懂其他人写的比较复杂的bat脚本了,这对于其他高级语言来说是不可想象的。平时要用的时候直接在文档中搜索命令关键词即可(例如,del是删除的缩写,reg就是与注册表有关命令),或者让AI(国外的GPT -4、GPT-4o、GTP-4o mini、Llama3.1、Claude3.5、Germin和国内的Kimi、通义等)辅助编写,前提是你能准确描述出自己的需求,并能看懂注释或代码。
- 如果你需要更加高级的功能,也可以学习一下PowerShell脚本(直接看官方文档中的
PowerShell 101
部分),其谓语-名词
+大驼峰的命令名称格式对小白来说很友好,单从命令名称你就能知道它是干什么的。- 一定要明确自己学习某个或某些技术的目的是什么,不要盲目跟风、浅尝辄止,一定要以解决问题为导向。例如,有些人学习了好几种编程语言,结果写不出一个对自己生活或工作有帮助的程序,有这时间不如干点别的。
自己动手制作PopBlock独立版
- 下载火绒安全,将以下文件复制到新文件夹中(弹窗拦截组件的存储位置),假设其为
D:Huorong\PopBlocker
- CrashHandler.dll(可选的动态库,用于捕获程序异常)
- CrashDump.exe(可选的程序,用于记录程序异常)
- DuiLib.dll
- jansson.dll
- libxsse.dll
- PopBlkEng.dll
- PopBlock.exe
- popblock.ui
- selfprot.dll
- sqlite.dll
- 为了使文件的存储结构清晰,将
C:\ProgramData\Huorong\Sysdiag\db
(一般Windows上的程序都是在C:\ProgramData
中存储自己的数据)或C:\Documents and Settings\All Users\Application Data\
文件夹中的popblk.db
(忽略大小写)复制到D:Huorong\PopBlocker\BatchScript\db
中,将wr_db.bat
、del_db.bat
和README.md
(方便你随时查看)复制到BatchScript
文件夹中。 - 要拦截弹窗,先以管理员身份运行
wr_db.bat
,然后双击PopBlock.exe
。如果你不再需要火绒弹窗拦截组件,那么就以管理员身份运行del_db.bat
。
制作其他组件的独立版
[!Note]
将鼠标移动到
.exe
文件上,此时程序会显示自己的名字和版本等信息(一般都是中文),根据这些信息就可以确定它是不是你要的组件。
下面以制作垃圾清理的独立版为例进行说明:
- 将
sysclean.exe
和sysclean.ui
复制粘贴到目标文件夹,双击运行sysclean.exe
,此时程序会提醒你都缺少哪些文件,将这些文件全部复制粘贴到目标文件夹中。再次运行sysclean.exe
,若程序不提醒你缺少哪些文件,但你却没有看到它的界面,则说明缺少数据库文件(.db),去C:\ProgramData\Huorong\Sysdiag\db
中将sysclean.db
复制粘贴到目标文件夹。 - 卸载火绒安全(如果你真的需要它,那你就不会看到本教程)。建议使用
IObit Uninstaller
等拥有记录功能或能删除程序的注册表和各种相关数据的软件(Windows自带的卸载程序卸载不干净),养成清理卸载残留的好习惯,能防止流氓软件秽土重生(火绒不会)。 - 将
wr_db.bat
和del_db.bat
复制粘贴到目标文件夹,用文本编辑器将这两个文件夹中所有的popblk.db
替换为sysclean.db
。注意:必须是完全匹配,不能说包含匹配。最好还是手动修改。 - 先以管理员身份运行
wr_db.bat
,再运行sysclean.exe
即可。若不再需要该组件,且要删除组件痕迹,那就以管理员身份运行del_db.bat
。
[!Tips]
一次性制作多个独立版组件:
- 如果你具有编写bat脚本的能力,或者你能根据微软官方cmd文档(本人已提供pdf版)编写bat脚本,那就直接重写脚本相关内容;
- 否则,你就得根据脚本原理手动操作(增加和删除注册表项还是可以交给脚本的)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)