安装“万能解码器”还原真实“解码”

简介:

安装万能解码器还原真实解码

一、前言

最近新出一部很火的电视剧,每天晚上更新两集,看完之后总觉得不过瘾,就去网上找后面的视频,还真被笔者找到。毫不犹豫点击播放,发现提示需要安装某某解码器。对于这类提示一点都不新鲜,尝试下载并运行解码器后,往往并没有达到预期效果,还会再次提醒下载,并没有网站上描述的那么管用。笔者很好奇既然没用,那运行的软件具体功能是什么。笔者便下载了一个“解码器”,果真不出所料,没有任何解码的功能,但是一个流氓推广软件。表面上看不出问题,只在后台搞鬼,笔者便花了点心思详细看了下该软件的实现,发现该软件作者在免杀和隐藏上下足了功夫。虽然功能老套但是思路不错,下面就请跟随笔者一起来看看这个所谓的“万能解码器”,还原真实“解码”。

二、技术特点

下载之后,没有图标,运行没有任何界面,并且多次运行效果相同。最后通过详细分析,总结该程序有如下特点:

1. 程序对重要字符串进行了加密处理,且有多个加密算法。

2. 释放的功能模块文件在本地经过RC算法加密,非正常的PE文件。

3. 无主进程运行,核心模块为内核驱动,找不到可疑进程。

4. 敏感操作放置在shellcode中,并进行加密,防止被第一时间杀掉。

5. 使用了内核技术,内核HOOK,设备HOOK。

6. 双驱动相互保护隐藏,并且通用32位和64位系统平台。

从对抗手法来看,该程序开发者无论在静态还是动态对抗上面都花了大量功夫,以达到免杀和隐藏行为的效果。

三、程序具体分析

下图是该程序的签名信息,从表面上看没有任何问题。

程序的签名信息

1. 加载器功能

该程序实际上是一个加载器,第一次运行后,后期都不再依靠该加载器运行。加载器通用于32位 和64位多个操作系统平台,根据不同系统平台释放不同文件。数据解密之后释放到系统目录下(PassProtect.sys和2.dat)。

数据解密之后释放到系统目录下(PassProtect.sys和2.dat)

解密shellcode并运行代码。

解密shellcode并运行代码

Shellcode中加载“PassProtect.sys”驱动文件,驱动加载状态为自动启动(开机自动加载)。

Shellcode中加载PassProtect.sys驱动文件

2. “PassProtect.sys”功能

首先清理“ntfs”和“fastfat”内核的所有设备,阻止自身被外部访问,执行完操作后会对其还原。

PassProtect.sys功能

对“2.dat”文件解密,使用RC算法,解密和加密是同一个函数,解密后回写到文件。

PassProtect.sys功能

通过内核函数ZwSetSystemInfomation加载“2.dat”驱动。

通过内核函数ZwSetSystemInfomation加载2.dat驱动

驱动加载之后再次通过RC加密回写数据“2.dat”,并还原“ntfs”和“fastfat”的设备栈,隐藏第二个驱动代码。

3. “2.dat”功能

通过设置线程创建回调,并主动触发回调来找到“ExCallBackBlockRoutineProc”函数地址。

设置线程创建回调

主动触发回调来找到ExCallBackBlockRoutineProc函数地址

挂钩“ExCallBackBlockRoutineProc”函数,通过过滤系统模块和自身模块,把其余所有模块的回调函数修改入口直接返回,达到反进程创建监视的作用。

挂钩ExCallBackBlockRoutineProc函数

挂钩ExCallBackBlockRoutineProc函数

设置模块加载回调和进程创建回调。

设置模块加载回调和进程创建回调

通过检查加载的模块是否是”kernel32.dll”判断创建进程,并且修改浏览器进程的命令行参数。

kernel32.dll判断创建进程

检查父进程为“explorer.exe”(用户打开运行),并且添加事件修改命令行参数。

检查父进程为explorer.exe

修改进程命令行参数,改变浏览器主页。

修改进程命令行参数,改变浏览器主页

创建系统线程,挂钩NTfs的create回调。

创建系统线程

挂钩NTfs的create回调

在Create回调中,保护第一个驱动文件“PassProtect.sys”不被任何程序访问。

四、总结

从上面分析看出,程序开发者通过各种技术手段,费劲心思,最终达到锁主页的目的。随着目前各大杀软对流氓推广软件的封杀,常规的推广手法已不在适用,升级后的对抗已经不在简单的修改注册表。更为猥琐和流氓的推广方式纷纷出现,各显神通,一不留神便被乘虚而入。当用户放行这个程序,流氓推广已经势不可挡,直捣黄龙。假如作者狠一点,后果将是不可不堪设想。所以笔者在这里提醒各位读者,对这类所谓解码器最好从正规网站下载。由于程序经过免杀处理,能够查杀的杀毒软件并不多(见下图VT扫描结果)。如果系统中曾经运行过该类解码器或播放器,可以安装下列可查杀的杀毒软件进行查杀。最后祝愿各位免受“流氓”困扰,金龙索玉柱,百毒不沾身。

作者:吃荤的驴子
来源:51CTO

相关文章
|
22天前
|
机器学习/深度学习 缓存 人工智能
大语言模型中常用的旋转位置编码RoPE详解:为什么它比绝对或相对位置编码更好?
Transformer的基石自2017年后历经变革,2022年RoPE引领NLP新方向,现已被顶级模型如Llama、Llama2等采纳。RoPE融合绝对与相对位置编码优点,解决传统方法的序列长度限制和相对位置表示问题。它通过旋转矩阵对词向量应用角度与位置成正比的旋转,保持向量稳定,保留相对位置信息,适用于长序列处理,提升了模型效率和性能。RoPE的引入开启了Transformer的新篇章,推动了NLP的进展。[[1](https://avoid.overfit.cn/post/9e0d8e7687a94d1ead9aeea65bb2a129)]
70 0
|
2月前
|
机器学习/深度学习 网络架构 计算机视觉
YOLOv5改进 | 检测头篇 | 利用DBB重参数化模块魔改检测头实现暴力涨点 (附代码 + 详细修改教程)
YOLOv5改进 | 检测头篇 | 利用DBB重参数化模块魔改检测头实现暴力涨点 (附代码 + 详细修改教程)
84 3
编码细节引起的思考
小编感悟:初始菜鸟的我们,在运用封装好的方法时,不仅要学习如何使用,更要学习封装的方法中还有什么东西,最后还要学习对应的方法是如何封装起来的,知识只有这样的学习才能够让自己变得更加强大。
|
7月前
|
机器学习/深度学习 存储 人工智能
解码Transformer:自注意力机制与编解码器机制详述与代码实现
解码Transformer:自注意力机制与编解码器机制详述与代码实现
117 0
|
11月前
|
机器学习/深度学习
开挖扩散模型小动作,生成图像几乎原版复制训练数据,隐私要暴露了
开挖扩散模型小动作,生成图像几乎原版复制训练数据,隐私要暴露了
|
11月前
|
Java API 计算机视觉
常用的视频帧提取工具和方法总结
视频理解任务最基础也是最主要的预处理任务是图像帧的提取。因为在视频理解任务中,视频可以看作是由一系列连续的图像帧组成的。因此,要对视频进行理解和分析,首先需要从视频中提取出每一帧的图像。
383 0
|
机器学习/深度学习 存储 运维
基于可变自动编码器(VAE)的生成建模,理解可变自动编码器背后的原理
基于可变自动编码器(VAE)的生成建模,理解可变自动编码器背后的原理
297 0
基于可变自动编码器(VAE)的生成建模,理解可变自动编码器背后的原理
|
编解码 开发框架 并行计算
硬解码和软解码的区别
硬解码和软解码的区别
|
存储
halcon视觉缺陷检测系列(2)频域和空间域转换的方法详解
halcon视觉缺陷检测系列(2)频域和空间域转换的方法详解
762 0
halcon视觉缺陷检测系列(2)频域和空间域转换的方法详解