简单研究了一下3721的机制,写在这里,作为心得笔记吧。大部分收获都来自
Softice + 反汇编,不一定适用于某些版本。
1. CnsMin.dll的驻留方式
3721的核心文件:CnsMin.dll
通常存在于<Windows Directory>/Downloaded Program Files下。
通过注册表Run键值加载:Rundll32 <dir>/CnsMin.dll, Rundll32
CnsMin.dll提供了一个函数Rundll32供Rundll32.exe调用
但这个函数只是调用一个真正的驻留函数Rundll32Main()。
Rundll32Main()伪代码:
void Rundll32Main()
{
hMutex = CreateMutex("CNSMINMUTEX");
if(ERROR_ALREADY_EXISTS)
{
CloseHandle(hMutex);
exit;
}
if(IsWindowsNT()) {
SetProcessSecurityInfo();
}
else {
RegisterProcessAsService();
}
CheckVersion();
// CnsMinKP.sys/vxd 内核驱动程序,保护3721关键文件和注册表项不被删除
ContactWithCnsMinKPDriver();
// 关键的hook,负责将CnsMin.dll注入其他进程空间
InstallCBTHook();
// 关键的hook,负责将CnsMin.dll注入其他进程空间
InstallCallWndProcHook();
// CnsMinIO.dll 负责IE地址栏下方的提示
InitCnsMinIO();
// 一些注册表信息
InitRegistry();
// 保护CnsMin.dll的钩子不被卸载或抢先
InstallGuardTimer();
CreateMsgWindow();
// Message loop
while (true)
{
GetMessage(&msg);
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
CnsMin主要是通过WH_CBT和WH_CALLWNDPROC两个全局钩子注入IE进程空间的。注入
IE后,又安装了WH_KEYBOARD,WH_DEBUG等钩子。其中对3721实现其"实名转换"
有用的是WH_KEYBOARD。这是一个本地钩子。
CnsMin为了保证自己的优先级最高,用了一个定时器函数反复安装钩子,无疑会造成
系统性能的下降。
我曾经尝试过自己安装一个WH_DEBUG钩子阻止3721钩子的调用,确实起到了效果,
立即可以使3721失效。但这种方法3721仍然驻留IE进程内,属于指标不治本的方法。
强制结束Rundll32进程,可以暂时卸载3721的驻留代码。但CnsMin.dll通过COM注册已经
嵌入IE组件中,重新启动IE后,该进程又会重新启动。
2. 3721的防删除手段
文件系统驱动:CnsMinKP*.sys 针对NT/2000/XP有不同版本(98下面是CnsMinKP.vxd)
通常存在于<System directory>/drivers/目录。
驱动程序,由Windows启动时加载。
该驱动程序过滤了对文件和注册表的删除操作。试图删除3721的关键文件和注册表项时,
直接返回一个TRUE,使Windows认为删除已经成功,但文件和注册表实际上还是在那里。
该驱动程序还有一个黑名单(保存在某个外部文件中),阻止Windows读取其他3721的
竞争对手的插件文件。
目前还没有找到停止该驱动的方法。
删除方法:在Windows启动前(例如,98下面退出到DOS)删除CnsMinKP*.sys文件。
注意:3721具有自恢复能力。某些关键文件被删除后,其它模块会试图从3721网站重新
下载。所以彻底删除前需要断开网络连接。
3. 针对目前版本的删除步骤:
a) 运行3721自己提供的删除程序。可以删掉大部分的文件。
b) 从DOS启动,删除残存文件,如CnsMin.dll,CnsMinKP*.*等
可能的目录:Downloaded Program Files目录,Program Files/3721目录,drivers目录
c) 启动Windows,进入桌面时Windows会报告一些模块找不到的错误,不用理会,删除
注册表中3721的值。
可能的位置:HKEY_CURRENT_USER: Software/3721
HKEY_LOCAL_MACHINE: Windows/CurrentVersion/Run
SYSTEM/CurrentControlSet
另外还零散的藏了一些,用关键字查找。
相关推荐
RK3568(buildroot)利用squashfs+overlay实现嵌入式系统高可靠存储方案
本文详细介绍了在RK3568嵌入式平台上,基于Buildroot系统,利用squashfs只读根文件系统与overlayfs可写层相结合的高可靠存储方案。该方案能有效防止设备意外断电导致的系统文件损坏,通过内核配置、启动脚本编写及镜像制作,实现系统核心的只读保护与用户数据的持久化分离,显著提升嵌入式设备的现场稳定性。
CBT:Ceph 性能测试的利器
CBT:Ceph 性能测试的利器 项目介绍 CBT(Ceph Benchmarking Tool)是一款用 Python 编写的测试工具,旨在自动化执行与 Ceph 集群性能测试相关的各种任务。CBT 本身不负责安装 Ceph 软件包,用户需要在运行 CBT 之前自行完成 Ceph 的安装。CBT 可以在测试开始时创建 OSD(对象存储守护进程),并在每次测试运行之间选择性地重新创建 OSD,或者...
Dr_can Kalman Filter学习笔记(一)
本文是在b站Dr_can的卡尔曼滤波课程学习过程中的学习笔记
国外渗透教学——CBT 国外的道德黑客Nuggets
链接:https://pan.baidu.com/s/1eIiu_gGuJ6NrA3TG6TU9SQ 提取码:vobi
保姆级拆解:HP 1312NF/CM1415打印机进纸离合器清洁与更换全记录(附B站/油管视频指路)
本文详细记录了HP 1312NF打印机进纸离合器故障的诊断与修复全过程,包括故障判断、工具准备、拆解步骤、清洁更换技巧及预防措施。特别针对离合器内部海绵老化粘连问题,提供了电工胶布和硬纸片两种实用替代方案,并附有B站/油管视频指路,帮助用户轻松完成打印机维修。
Ubuntu 18.04下Freesurfer 7.2.0安装全攻略:从下载到环境配置一步到位
本文详细介绍了在Ubuntu 18.04系统上安装Freesurfer 7.2.0的完整流程,包括系统准备、依赖安装、下载解压、环境配置、许可证获取及性能优化。Freesurfer作为神经影像分析的重要工具,支持皮层重建和体积分割等复杂任务,适用于阿尔茨海默症等神经系统疾病研究。指南还提供了常见问题解决方案和实际应用案例,帮助用户快速搭建高效的神经影像分析平台。
[转载]3721驻留机制简单研究
[转载]3721的驻留机制简单研究Quaful@水木清华简单研究了一下3721的机制,写在这里,作为心得笔记吧。大部分收获都来自Softice + 反汇编,不一定适用于某些版本。1. CnsMin.dll的驻留方式3721的核心文件:CnsMin.dll通常存在于/Downloaded Program Files下。通过注册表Run键值加载:Rundll32 /CnsMin.dll, Rundll
2026年医疗AI的可信革命全栈实现(上)
医疗AI可信化:贝叶斯网络与向量数据库的协同架构 本文探讨2026年医疗AI发展的关键转折点——从追求生成能力转向构建可信决策系统。核心观点认为,医疗AI下一阶段的竞争焦点在于不确定性量化和错误传播约束,而非单纯的问答流畅度。研究提出以Python为开发语言、结合向量数据库与贝叶斯网络的混合架构: 技术分层 语言层(LLM):处理自然语言交互与工具调用 证据层(Milvus/Qdrant):实现可审计的临床知识检索 概率层(pgmpy/PyMC):执行贝叶斯推理与风险路由 治理层:确保权限控制与人工复核机制
CBT钩子实现解决程序间的冲突
可能在运行一个程序A时,将运行的程序与正在运行的某个程序B冲突。下面用一个CBT钩子实现当一个程序A启动时,关闭与本程序冲突的其它程序B。1、 首先写一个动态链接库CBTHooks。它实现一个全局CBT钩子监视程序A的启动(实际上是监视程序A中某窗口类的创建)。2、 创建一个名为TestHook的MFC EXE程序来为系统安装钩子。CBTHooks: 声明全局变量:stat
AXI总线详解完结篇
经过几个月的整理和发文,AXI总线详解系列正式迎来最终篇,内容基本涵盖了上一篇文章的全部内容。 所有文章的链接如下: 1、 AXI总线详解 2、AXI总线详解-总线和接口以及协议 3、AXI协议中的通道结构 4、AXI总线详解-AXI4读写操作时序及AXI4猝发地址及选择 5、AXI4交换机制 6、ZYNQ中DMA与AXI4总线-DMA简介 7、AXI总线详解-不同类型的DMA 8、AXI总线详解-DMA内部寄存器的读写方式 9、AXI总线详解-几种应用DMA的场合 10、Altera Scatter-G.
cesium 深度图(获取区域最高最低点位)
文章摘要: Cesium深度图技术可用于获取区域地形高程数据,核心实现步骤包括:1)通过离屏相机构建独立渲染环境,使用正交投影确保采样精度;2)采用离屏渲染技术获取均匀分布的地形点数据。关键技术点包含多边形外包矩形计算、后台相机配置(5km高度正交投影)、1024×1024像素离屏视图设置,以及深度数据解析(RGBA格式转换和三维坐标还原)。该方法避免了主视图干扰,可精准获取区域内地形高程信息,为填挖方分析等应用提供基础数据支持。
Weakly Supervised Instance Segmentation using Class Peak Response论文复现以及遇到的问题
github链接 摘要:使用图像级别标签的弱监督实例分割,而不是昂贵的像素级掩码,仍然未被探索。在本文中,我们通过利用类峰值响应来启用分类网络(例如掩码提取)来解决这一具有挑战性的问题。仅使用图像标签监控,完全卷积方式的CNN分类器可以生成类响应图,其指定每个图像位置处的分类置信度。我们观察到类响应图中的局部最大值(即峰值)通常对应于驻留在每个实例内的强视觉提示。受此启发,我们首先设计一个过程,...
Vue3 - 强力解决前端下载二进制流pdf文件、下载成功后打开空白问题解决,或者获取PDF文件流,将blob对象转换成下载链接打开后一片空白(无论是否使用pdf插件下载,还是原生方法下载都完美解决)
vue3前端下载二进制流pdf文件,下载成功,打开空白问题解决,js下载PDF文件流,打开空白问题,VUE3 h5中的文件流下载和指定的url下载总结(解决下载后的pdf打开空白情况)pdfjs打开文件流空白,解决pdf文件流,预览全是空白页,pdf文件流,下载正常,但是预览全是空白页,前端JS获取PDF文件流,将blob对象转换成下载链接打开后一篇空白的问题,前端文件流下载后文件空白,前端下载文件流PDF文件显示空白 或 无法打开,在线预览PDF文件打不开白屏怎么办,前端axios请求二进制数据流转换生成
3721驻留机制简单研究
3721驻留机制简单研究 [ 日期: 2006-04-30 02:33 | 作者: d99 | 来自: 转载 | | ] 3721驻留机制简单研究www.hacker.com.cn 黑客防线简单研究了一下3721的机制,写在这里
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <sty
Title img,div,body{margin: 0;padding: 0;} .orgindiv {width: 200px;height: 200px;position: relative;float: left;margin-left: 100px;} .orgindiv img{width: 100%;height: 100%;}
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
彻底清除狗太阳的3721病毒完全手册!
我们对Google的爱说不清楚为什么,就是那么执著。我们对3721的憎恨似乎也说不清楚为什么,看起来更执著。Google往我们口袋里塞钱了吗?当然没有。3721抢我们钱包里的钱了吗?似乎也没有。那是为什么呢?因为Google任何时候都尊重网友的意志,而3721干的那勾当,是"人"做出来的吗?! 关于3721这个东西的好坏,我一来不肖于说,二来也避免一家之言,看看Google搜索"删除...
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
趋势分析法相关资料
趋势分析法又叫比较分析法,它是通过对财务报表中各类相关数字进行分析比较,尤其是将一个时期的财务报表和另一个或几个时期的财务报表相比较,以判断一个公司的财务状况和经营业绩的演变趋势及其在同行业中地位变化等情况。 应用趋势分析法的目的在于:确定引起公司财务状况和经营成果变动的主要原因;确定公司财务状况和经营成果的发展趋势对投资者是否有利;预测公司未来发展的趋势。这种分析方法属于一种动态分析,它是
代理服务器(Proxy)完全解析
代理服务器(Proxy)完全解析 相信,提起代理服务器(Proxy)还是有非常多的人关注的,因为无论是在线论坛(bbs)或者是新闻组里面,作为一个撰稿人,我的信箱里也经常收到询问代理服务器为何物,或者如何设置代理服务器这类的问题,所以,我觉得有必要总结一下,把我对代理服务器的认识和在实际应用中各种相关网络应用软件的代理服务器设置告诉大家,这就是本文写就的来由了。 什么是代理服务器(Pro
HK_C_U/Software/Microsoft/Windows/ShellNoRoam/MUICache键值作用
注册表中HK_C_U/Software/Microsoft/Windows/ShellNoRoam/MUICache键值作用:记录运行过的可执行文件的绝对路径键值:数值名称为绝对路径,数值数据(为空时,即为exe名称)与版本信息Version info 中的文件描述FileDescription。应用:1、防火墙阻止程序名称与实际程序描述不一致时,只能通过注册表更改数值数据信息(如绝对路径不变,即
Html实现滚动字幕效果
在 与 之间加入: ONMOUSEOUT=this.scrollDelay=1ONMOUSEOVER=this.scrollDelay=600SCROLLAMOUNT=1 SCROLLDELAY=1 CLASS="tt" > 滚动字幕效果 滚动字幕效果 滚动字幕效果 滚动字幕效果 滚动字幕效果 滚动字幕效果 滚动字幕效果 滚动字幕效果 一:将下面的代码放在〈HEAD〉与〈/H
无法按修改时间排列
问:为了查看的方便,我想把电脑中专门保存音乐的文件夹里的文件按修改时间来排列,但是我在文件夹空白处右击,在“排列图标”菜单中竟然没有“修改时间”项,我记得在WindowsXP中是有这一项的啊,这可怎么办啊?答:这是因为你保存音乐的文件夹使用了其它文件夹风格所导致的。对此你只要右击该文件夹打开其属性窗口,切换到“自定义”选项卡,然后在“用此文件夹类型作为模板”下拉菜单中选择“文档(任何文件类型)”选
SQLServer自动编号列的重新编号
(1)填充由于DELETE语句导致的标识值中的空隙,可以利用下面的语句来实现 SET IDENTITY_INSERT 表名 ON insert into 表名 (id,name) (10, test ) SET IDENTITY_INSERT 表名 OFF --此处ID为自增长列名,10为列中缺少的值 (2)将标识值从
在WORD中使用公式编辑器的技巧
(1)公式编辑器的启动与退出 工具/自定义/键盘/插入/InsertEquation,把指针放在“请按新快捷键”下的空行内,按“Ctrl+Enter”(当然也可以用别的快捷键,不过这个最易操作),再顺次点击“指定”、“关闭”、“关闭”。以后在WORD中直接用按“Ctrl+Enter”即可启动公式编辑器,退出公式编辑器时,按Esc即可。 (2)公式编辑器中最常用的几个快捷键 Ctrl+H:上标
理解地图维度概念
2维<br /><br />X Y 2维展示的是符号化的地图,由点线面组成2.5维<br />数字侧视地图(俗你2.5维)应该说最早的应用是规划设计人员,他们做的鸟瞰图其实就是我们的2.5维地图,当然2.5维在测绘行业的广泛应用应归功于E都市,E都市的出现让测绘专业技术人员意识到原来地图还有更多的表现手法。现在在互联网上呈现2.5维地图的风韵更多了,包括水晶石制作的网上世博(http://www.expo.cn/#&c=home)。<br />2.5维地图的制作方式相对简单,有一种说法网上很多2.5维地图都
解决“文件名对目标文件夹可能太长”
使用命令行工具:以管理员身份运行命令提示符或PowerShell,使用robocopy命令复制文件(如robocopy "源路径" "目标路径" /E),或使用subst命令将长路径映射为虚拟驱动器(如subst X: "长路径")来缩短访问路径。使用第三方文件管理器:如Total Commander、TeraCopy等工具对长路径支持更好,可尝试用其进行复制或移动操作。压缩后移动:将文件或文件夹右键压缩为ZIP格式,将ZIP文件复制到目标位置后再解压,可避免路径长度累加。
547



被折叠的 条评论
为什么被折叠?



