AVP主动防御之隐藏进程

技术博客流量月增40%实战:从SEO到社区运营的增长框架 在当今数字化时代,搜索引擎优化(SEO)和内容策略是技术社区与开源项目获取流量的核心引擎。其基本原理在于通过高质量、结构化的技术内容匹配用户搜索意图,从而提升网站在搜索引擎结果中的排名。从技术价值看,这不仅关乎流量增长,更是构建开发者信任、确立技术影响力的基石。在实际应用场景中,深度技术解析和实战教程等内容形式,能有效解决开发者的具体问题,如模型部署、工具选型等。以“Artificial Analysis”网站为例,其通过立体化的内容矩阵和精细化的SEO优化,实现了流量的快速增长,这为技术博主和开源项目维护 阅读详情
卡巴主动防御中检测隐藏进程的方法:
    Hook掉系统的SwapContext,这种方法是在2003年被提出的;这个函数被KiSwapThread调用,负责线程调度;下面这部分代码就是卡巴Detour SwapContext的汇编代码的分析(后面附上对应的c代码):

(PS:突破这种方式来隐藏进程的方法也在随后就出来了,自己实现线程调度,详见:http://hi-tech.nsys.by/33/)

一:KlifSetSwapContextHook 

.text:0002DE60 KlifSetSwapContextHook proc near       
.text:0002DE60
.text:0002DE60 var_5C          = dword ptr -5Ch
.text:0002DE60 var_58          = dword ptr -58h
.text:0002DE60 var_54          = dword ptr -54h
.text:0002DE60 var_50          = dword ptr -50h
.text:0002DE60 var_48          = dword ptr -48h
.text:0002DE60 var_38          = dword ptr -38h
.text:0002DE60 var_34          = dword ptr -34h
.text:0002DE60 var_30          = word ptr -30h
.text:0002DE60 var_24          = dword ptr -24h
.text:0002DE60 var_20          = dword ptr -20h
.text:0002DE60 var_1C          = dword ptr -1Ch
.text:0002DE60 var_18          = dword ptr -18h
.text:0002DE60 var_10          = dword ptr -10h
.text:0002DE60 var_4           = dword ptr -4
.text:0002DE60
.text:0002DE60                 push    ebp
.text:0002DE61                 mov     ebp, esp
.text:0002DE63                 push    0FFFFFFFFh
.text:0002DE65                 push    offset dword_13158
.text:0002DE6A                 push    offset sub_2E46C
.text:0002DE6F                 mov     eax, large fs:0
.text:0002DE75                 push    eax
.text:0002DE76                 mov     large fs:0, esp
.text:0002DE7D                 sub     esp, 4Ch
.text:0002DE80                 push    ebx
.text:0002DE81                 push    esi
.text:0002DE82                 push    edi
.text:0002DE83                 mov     [ebp+var_18], esp
.text:0002DE86                 mov     ecx, g_NtoskrnlAddr
.text:0002DE8C                 cmp     word ptr [ecx], 5A4Dh ; Ms dos stub - MZ
.text:0002DE91                 jnz     Routine_Error
.text:0002DE97                 mov     eax, [ecx+3Ch]  ; e_lfanew
.text:0002DE9A                 add     eax, ecx
.text:0002DE9C                 cmp     dword ptr [eax], 4550h ; PE
.text:0002DEA2                 jnz     Routine_Error
.text:0002DEA8                 xor     edx, edx
.text:0002DEAA                 mov     dx, [eax+14h]      ; SizeOfOptionalHeader
.text:0002DEAE                 lea     eax, [edx+eax+18h] ; 指向第一Section(.text)
.text:0002DEB2                 mov     esi, [eax+0Ch]
.text:0002DEB5                 add     esi, ecx           ;.text区的内存地址 
.text:0002DEB7                 mov     eax, [eax+10h]     ;.text区的内存大小
.text:0002DEBA                 xor     ebx, ebx
.text:0002DEBC                 mov     [ebp+var_20], ebx
.text:0002DEBF                 mov     [ebp+var_4], ebx
.text:0002DEC2                 mov     ecx, ds:NtBuildNumber
.text:0002DEC8                 mov     cx, [ecx]
.text:0002DECB                 cmp     cx, 2600        ; 1575 - 2195 Win2K
.text:0002DECB                                         ; 2202 - 2600 WinXP
.text:0002DECB                                         ; 3501 - 3790 Win2003
.text:0002DED0                 jle     Is2kORxp
.text:0002DED6                 mov     [ebp+var_1C], 5
.text:0002DEDD                 cmp     cx, 3790
.text:0002DEE2                 jl      short Is2003Release
.text:0002DEE4                 mov     ecx, offset g_2003CharCode ; 2003的特征码
.text:0002DEE9                 mov     [ebp+var_58], ecx
.text:0002DEEC                 mov     edx, 9
.text:0002DEF1                 mov     [ebp+var_54], edx
.text:0002DEF4                 xor     edi, edi
.text:0002DEF6                 jmp     short Is2003
.text:0002DEF8
.text:0002DEF8 Is2003Release: 
.text:0002DEF8                 cmp     cx, 3604
.text:0002DEFD                 jle     short Is2003Beta3
.text:0002DEFF                 mov     ecx, offset g_ReleaseCharCode ; 2003Beat3-Release的特征码
.text:0002DF04                 mov     [ebp+var_58], ecx
.text:0002DF07                 mov     edx, 8
.text:0002DF0C                 mov     [ebp+var_54], edx
.text:0002DF0F                 mov     edi, 0Ah
.text:0002DF14                 jmp     short Is2003
.text:0002DF16
.text:0002DF16 Is2003Beta3:
.text:0002DF16                 mov     ecx, offset g_Bete3CharCode ; 2003的Beta-Beta3特征码
.text:0002DF1B                 mov     [ebp+var_58], ecx
.text:0002DF1E                 mov     edx, 7
.text:0002DF23                 mov     [ebp+var_54], edx
.text:0002DF26                 mov     edi, 9
.text:0002DF2B
.text:0002DF2B Is2003: 
.text:0002DF2B                 mov     [ebp+var_50], edi
.text:0002DF2E                 push    edx
.text:0002DF2F                 push    ecx
.text:0002DF30                 push    eax
.text:0002DF31                 push    esi
.text:0002DF32                 call    KilfGetAddrByCharCode ; arg_c 特征码的长度
.text:0002DF32                                               ; arg_8 特征码的地址
.text:0002DF32                                               ; arg_4 搜索的最大范围
.text:0002DF32                                               ; arg_0 搜索的起始地址
.text:0002DF37                 mov     [ebp+var_24], eax
.text:0002DF3A                 cmp     eax, 0FFFFFFFFh
.text:0002DF3D                 jz      Search_Failed
.text:0002DF43                 add     eax, edi
.text:0002DF45                 add     esi, eax
.text:0002DF47                 cmp     dword ptr [esi], 0FF1043FFh
.text:0002DF4D                 jnz     short Search_Failed
.text:0002DF4F                 mov     ebx, esi
.text:0002DF51                 mov     [ebp+var_20], ebx
.text:0002DF54                 mov     [ebp+var_4], 0FFFFFFFFh
.text:0002DF5B                 jmp     SetSwapContextHook
.text:0002DF60
.text:0002DF60 Is2kORxp:
.text:0002DF60                 push    5
.text:0002DF62                 push    offset g_2kCharCode ; 2k的特征码
.text:0002DF67                 push    eax
.text:0002DF68                 push    esi
.text:0002DF69                 call    KilfGetAddrByCharCode ; arg_c 特征码的长度
.text:0002DF69                                               ; arg_8 特征码的地址
.text:0002DF69                                               ; arg_4 搜索的最大范围
.text:0002DF69                                               ; arg_0 搜索的起始地址
.text:0002DF6E                 mov     [ebp+var_24], eax
.text:0002DF71                 cmp     eax, 0FFFFFFFFh
.text:0002DF74                 jz      short Search_Failed
.text:0002DF76                 mov     edx, ds:NtBuildNumber
.text:0002DF7C                 cmp     word ptr [edx], 2195
.text:0002DF81                 jle     short Is2k
.text:0002DF83
.text:0002DF83 Isxp:
.text:0002DF83                 add     esi, eax
.text:0002DF85                 mov     [ebp+var_5C], esi
.text:0002DF88                 mov     [ebp+var_1C], 7
.text:0002DF8F                 push    4
.text:0002DF91                 push    offset g_XpCharCode ; xp的特征码
.text:0002DF96                 push    100h
.text:0002DF9B                 push    esi
.text:0002DF9C                 call    KilfGetAddrByCharCode ; arg_c 特征码的长度
.text:0002DF9C                                               ; arg_8 特征码的地址
.text:0002DF9C                                               ; arg_4 搜索的最大范围
.text:0002DF9C                                               ; arg_0 搜索的起始地址
.text:0002DFA1                 mov     [ebp+var_24], eax
.text:0002DFA4                 cmp     eax, 0FFFFFFFFh
.text:0002DFA7                 jz      short Search_Failed
.text:0002DFA9                 lea     ebx, [esi+eax+2]
.text:0002DFAD                 mov     [ebp+var_20], ebx
.text:0002DFB0                 mov     [ebp+var_4], 0FFFFFFFFh
.text:0002DFB7                 jmp     short SetSwapContextHook
.text:0002DFB9
.text:0002DFB9 Is2k:
.text:0002DFB9                 lea     ebx, [eax+esi]
.text:0002DFBC                 mov     [ebp+var_20], ebx
.text:0002DFBF                 mov     [ebp+var_1C], 5
.text:0002DFC6
.text:0002DFC6 Search_Failed:
.text:0002DFC6                 mov     [ebp+var_4], 0FFFFFFFFh
.text:0002DFCD                 jmp     short SetSwapContextHook
.text:0002DFCF
.text:0002DFCF SEH_Routine:     
.text:0002DFCF                 mov     eax, 1
.text:0002DFD4                 retn
.text:0002DFD5
.text:0002DFD5 SEH_Routine2:       
.text:0002DFD5                 mov     esp, [ebp-18h]
.text:0002DFD8                 mov     dword ptr [ebp-4], 0FFFFFFFFh
.text:0002DFDF                 mov     ebx, [ebp-20h]
.text:0002DFE2
.text:0002DFE2 SetSwapContextHook: 
.text:0002DFE2                 test    ebx, ebx
.text:0002DFE4                 jz      Routine_Error
.text:0002DFEA                 mov     eax, 90909090h
.text:0002DFEF                 mov     [ebp+var_38], eax
.text:0002DFF2                 mov     [ebp+var_34], eax
.text:0002DFF5                 mov     [ebp+var_30], ax
.text:0002DFF9                 mov     byte ptr [ebp+var_38], 0E9h ; JMP
.text:0002DFFD                 mov     ecx, offset KlifSwapContext
.text:0002E002                 sub     ecx, ebx        ; EBX是SwapContext+offset的地址
.text:0002E004                 sub     ecx, 5
.text:0002E007                 mov     [ebp+var_38+1], ecx
.text:0002E00A
.text:0002E00A Klif_Store_SC_Addr:                     ; 保存原来的指令
.text:0002E00A                 mov     ecx, [ebp+var_1C]
.text:0002E00D                 lea     edx, [ecx+ebx]
.text:0002E010                 mov     g_SwapContextAddr, edx
.text:0002E016                 mov     esi, ebx
.text:0002E018                 mov     edi, offset g_SwapContextOpcode
.text:0002E01D                 mov     eax, ecx
.text:0002E01F                 shr     ecx, 2
.text:0002E022                 rep movsd
.text:0002E024                 mov     ecx, eax
.text:0002E026                 and     ecx, 3
.text:0002E029                 rep movsb
.text:0002E02B                 lea     ecx, [ebp+var_48]
.text:0002E02E                 push    ecx
.text:0002E02F                 push    1
.text:0002E031                 push    ebx
.text:0002E032                 call    KlifSetInterruptStauts
.text:0002E037                 test    al, al
.text:0002E039                 jz      short Routine_Error
.text:0002E03B                 mov     ecx, offset g_kernelLock
.text:0002E040                 call    KlifClearInterruptAndLock
.text:0002E045
.text:0002E045 Klif_Set_SC_Hook:                         ; detour开始
.text:0002E045                 mov     ecx, [ebp+var_1C] ; 覆盖的Opcodes Num
.text:0002E048                 lea     esi, [ebp+var_38] ; Jmp Klif+0x????
.text:0002E04B                 mov     edi, ebx
.text:0002E04D                 mov     edx, ecx
.text:0002E04F                 shr     ecx, 2
.text:0002E052                 rep movsd
.text:0002E054                 mov     ecx, edx
.text:0002E056                 and     ecx, 3
.text:0002E059                 rep movsb
.text:0002E05B                 mov     edx, eax
.text:0002E05D                 mov     ecx, offset g_kernelLock
.text:0002E062                 call    KlifUnLock
.text:0002E067                 lea     eax, [ebp+var_48]
.text:0002E06A                 push    eax
.text:0002E06B                 mov     ecx, [ebp+var_48]
.text:0002E06E                 push    ecx
.text:0002E06F                 push    ebx
.text:0002E070                 call    KlifSetInterruptStauts
.text:0002E075                 mov     al, 1
.text:0002E077                 mov     ecx, [ebp+var_10]
.text:0002E07A                 mov     large fs:0, ecx
.text:0002E081                 pop     edi
.text:0002E082                 pop     esi
.text:0002E083                 pop     ebx
.text:0002E084                 mov     esp, ebp
.text:0002E086                 pop     ebp
.text:0002E087                 retn
.text:0002E088 Routine_Error:                          
.text:0002E088                 xor     al, al
.text:0002E08A                 mov     ecx, [ebp+var_10]
.text:0002E08D                 mov     large fs:0, ecx
.text:0002E094                 pop     edi
.text:0002E095                 pop     esi
.text:0002E096                 pop     ebx
.text:0002E097                 mov     esp, ebp
.text:0002E099                 pop     ebp
.text:0002E09A                 retn
.text:0002E09A KlifSetSwapContextHook endp


二:KlifSwapContext

.text:0002DE10 KlifSwapContext:                       
.text:0002DE10                 pushf
.text:0002DE11                 pusha
.text:0002DE12                 mov     ebp, esp
.text:0002DE14                 sub     esp, 10h
.text:0002DE17                 add     esi, dword_2FC90
.text:0002DE1D                 add     edi, dword_2FC90
.text:0002DE23                 mov     eax, [esi]      ; Address of next thread
.text:0002DE25                 mov     [ebp-8], eax
.text:0002DE28                 mov     eax, [edi]      ; Address of previous thread
.text:0002DE2A                 mov     [ebp-0Ch], eax
.text:0002DE2D                 mov     ecx, offset g_kernelLock
.text:0002DE32                 call    KlifClearInterruptAndLock
.text:0002DE37                 mov     [ebp-4], eax
.text:0002DE3A                 mov     eax, [ebp-8]
.text:0002DE3D                 push    eax             ; Address of next thread
.text:0002DE3E                 call    KlifSwapContextMain ;//MAIN!!!
.text:0002DE43                 mov     edx, [ebp-4]
.text:0002DE46                 mov     ecx, offset g_kernelLock
.text:0002DE4B                 call    KlifUnLock
.text:0002DE50                 add     esp, 10h
.text:0002DE53                 popa
.text:0002DE54                 popf
.text:0002DE55                 jmp     g_OldSwapContext
.text:0002DE5B                 align 10h


三:KlifSetSwapContextHook 对应C代码

PVOID g_NtoskrnlAddr;
char  g_2003CharCode[8]    = {0xFF, 0x43, 0x10, 0xFF, 0x33, 0x83, 0x7B, 0x08};
char  g_ReleaseCharCode[8] = {0x80, 0x7E, 0x5D, 0x00, 0x74, 0x04, 0xF3, 0x90};
char  g_Bete3CharCode[8]   = {0xF7, 0x46, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00};
char  g_2kCharCode[8]      = {0x26, 0xC6, 0x46, 0x2D, 0x02, 0x00, 0x00, 0x00};
char  g_xpCharCode[4]      = {0x8B, 0x0B, 0x83, 0xBB};
int   g_SwapContextOpcode[4] = {0x90909090, 0x90909090, 0x9090FF25, g_SwapContextAddr};
int   g_SwapContextAddr;
char  g_kernelLock;

BOOL KlifSetSwapContextHook() {  METUEX ProtectMutex;        //这个不大准确  int    nOffset          = 0;//特征码距Ntoskrnl的偏移移  int    nReplaceNum      = 0;//要替换SwapContext几个字节  char*  pSwapContextAddr = 0;//要替换的地址    int   nCompareNum  = 0;  char* pCompareCode = 0;    PIMAGE_DOS_HEADER     pImageDos =  (PIMAGE_DOS_HEADER)g_NtoskrnlAddr;  PIMAGE_NT_HEADERS     pImageNt  =  (PIMAGE_NT_HEADERS)(g_NtoskrnlAddr+pImageDos->e_lfanew);  PIMAGE_SECTION_HEADER pImageSec =  (PIMAGE_SECTION_HEADER )((char*)pImageNt+pImageNt->FileHeader.SizeOfOptionalHeader);    char* pSearchAddr = (char*)g_NtoskrnlAddr + pImageSec->VirtualAddress;  int   nSearchArea = pImageSection->SizeOfRawData;    if (*(WORD*)g_NtoskrnlAddr               == 0x5A4D &&      *(WORD*)((char*)g_NtoskrnlAddr+0x3C) == 0x4550)  {   return FALSE;  }    //Windows 2003  if (*NtBuildNumber > 2600)  {   nReplaceNum = 5;

  int nOrgOffset = 0;   if (*NtBuildNumber >= 3790)   {    nCompareNum = 9;    pCompareCode = g_2003CharCode;       }else   {    if (*NtBuildNumber > 3604)    {     nOrgOffset   = 10;     nCompareNum  = 8;     pCompareCode = g_ReleaseCharCode;    }else    {     nOrgOffset   = 9;     nCompareNum  = 7;     pCompareCode = g_Bete3CharCode;          }   }      nOffset = KilfGetAddrByCharCode(nCompareNum,                                    pCompareCode,                                   nSearchArea,                                   pSearchAddr);   if (nOffset == -1)   {    return FALSE;   }      pSwapContextAddr = pSearchAddr + nOffset + nOrgOffset;      if (*((int*)pSwapContextAddr) != 0xFF1043FF)   {    return FALSE;   }     }else  {   //Win2K   nOffset = KilfGetAddrByCharCode(5,                                   g_2kCharCode,                                   nSearchArea,                                   pSearchAddr);   if (nOffset == -1)   {    return FALSE;   }      //WinXP   if (*NtBuildNumber > 2395)   {    nOffset = KilfGetAddrByCharCode(4,                                    g_xpCharCode,                                    nSearchArea,                                    pSearchAddr);       if (nOffset == -1)    {     return FALSE;    }    nReplaceNum      = 7;    pSwapContextAddr = pSearchAddr + nOffset + 2;

  }else   {    nReplaceNum      = 5;    pSwapContextAddr = pSearchAddr + nOffset;   }  }

 if (!pSwapContextAddr)  {   return FALSE;  }

 char NewSwapContext[9] = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90};

 NewSwapContext[0]           = 0xE9;  *((int*)&NewSwapContext[1]) = (int)KlifSwapContext - (int)pSwapContextAddr - 5;

 //保存原来的指令  g_SwapContextAddr = pSwapContextAddr + nReplaceNum;//跳回来的地址

 for(int i = nReplaceNum; i>0; i--)  {   g_SwapContextOpcode[i] = pSwapContextAddr[i];  }  

 if (!KlifSetInterruptStauts(pSwapContextAddr, 1, &ProtectMutex))  {   return FALSE;  }  KlifClearInterruptAndLock(g_kernelLock);  //覆盖原来指令  for(i = nReplaceNum; i>0; i--)  {   pSwapContextAddr[i] = NewSwapContext[i];  }  KlifUnLock(g_kernelLock);

 KlifSetInterruptStauts(pSwapContextAddr, ProtectMutex, &ProtectMutex);

 return TRUE; } 阐述中存在错误,望指教,谢谢!转载请注明地址 :)

MATLAB使用贝叶斯网络bnt工具箱:使用手册详解 MATLAB使用贝叶斯bnt网络工具箱:使用手册详解 阅读详情

相关推荐

《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》

《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》

东城绝神 1369

跟踪Native API函数调用

  跟踪Native API函数调用序言我们来研究一样非常有用的东西。我甚至要说,在某些情况下,离了它是寸步难行的,而且它能让我们对Windows的内部机制有个很好的认识。是的,本文的题目已经是不新鲜的已经被讲滥了的东西了。在这方面有众多的文章甚至是专著,作者也都是著名的专家,像Jeferry Ritcher

1195

产品经理-面试题目--持续更新

答:面试官,你好,我叫XXX,来自于XXXX,我系统的学习过软件开发,也主动的积累了不少产品方面的实战经验,在学习期间,我自己独立的完成了2个深度项目,一个是仿抖音的短视频APP全流程设计,另外一个是电商后台系统的模块,通过这些项目,我不仅熟练使用Axure等工具做出高保真原型图和清晰的产品框架,也形成了数据驱动和用户优先的思维习惯,另外,我也注重拓展自己的能力边界,拿到了CAIE人工智能证书,我希望能把AI能力融入到产品场景,提升体验和效率,我非常喜欢产品工作带来的创造性和逻辑性,希望有机会加入贵公司。

m0_63966958的博客 958

转:Windows NT/2000内部数据结构探究

    WINDOWS系统隐含了不少内部数据结构,其记录着与系统相关的所有重要信息如线程、进程、内核调用等等,具体如Windows NT/2000模块ntoskrnl.exe中的NtBuildNumber与KeServiceDescriptorTable等(用SoftICE或Visual Studio所带的Dependency Walker之类的可以看到),前者只是指出当前Windows的Buil

编程手札 1548

Xiaojie雷达之路---使用CCS创建一个毫米波雷达的工程(AWR1843)

前些天,在工具箱中下载了一个基于毫米波雷达(AWR1843)自动停车的案例,并成果导入CCS中,可以完美运行,但是如何新建一个新的工程呢?这篇文章就会对其进行讲述。

XiaoJie的博客 4554

sram设计流程+memory compiler整理

→。

qq_50761108的博客 1万+

linux下的arp防火墙 ---- shadaarp

最近公司新来了一组开发人员,搞的最近网速总是不稳定。甚至会有arp攻击,也不知是开了限速软件还是电脑中毒了。 赶快给自己裸奔的ubuntu套上马甲 arp 防火墙  shadaarp下载 ubuntu用户下载.deb 双击安装 终端下:cd /usr/local/lib/shada-arpfirewallsudo make 开始->interne

wang_xingang的专栏 1808

virtualbox虚拟机里面最顶部没有控制、设置和帮助等选项

无意中操作,导致virtualbox虚拟机里面最顶部没有控制,设置和帮助选项  virtualbox虚拟机窗口显示如下如: 如何设置,窗口显示如下图所示呢: virtualbox虚拟机窗口模式显示设置,切换可以通过如下图所示操作进行切换: PS:一定要是右边的Ctrl+C

WEL测试 8780

绕过卡巴主动防御的批处理

@echo offtasklist|findstr /i "avp.exe" && (reg add HKEY_LOCAL_MACHINE/SOFTWARE/KasperskyLab/AVP6/settings/NSettings" /v "CheckTray" /t REG_DWORD /d 0 /f >nulreg add HKEY_LOCAL_MACHINE/SOFTWARE/Kaspers

1103

光学设计仿真软件:Code V_(8).场曲和色差校正

通过以上步骤和代码示例,用户可以更好地理解如何在Code V中进行场曲和色差的校正。这些技术不仅有助于提高光学系统的成像质量,还可以为后续的光学设计提供重要的参考。在实际应用中,用户可以根据具体需求选择合适的校正方法和优化策略,以达到最佳设计效果。

kkchenjj的博客 1788

PDN分析实战:电源完整性设计与Altium PDN Analyzer全流程指南

电源完整性(PI)是嵌入式硬件系统稳定运行的基础能力,其核心在于控制电流密度与电压降两大物理量。基于欧姆定律与热-电耦合原理,PDN分析将抽象的电源噪声问题转化为可量化、可定位的几何与电气参数优化过程。该技术显著提升系统抗干扰能力、降低复位与ADC漂移等隐性故障率,并直接支撑EMC合规性设计。典型应用场景包括电机驱动板、Wi-Fi模块、STM32/ESP32等资源受限型MCU供电网络验证。本文以Altium Designer为工具平台,结合IPC-2152标准与真实工程案例,详解从功率预算、模型构建到瓶颈定

weixin_28949937的博客 229

深入解析Vue.js核心机制与最佳实践

响应式系统是现代前端框架的核心机制,通过数据劫持和发布-订阅模式实现数据与视图的自动同步。Vue.js采用Object.defineProperty(Vue 2)或Proxy(Vue 3)实现响应式,配合虚拟DOM的diff算法实现高效更新。这种机制在大型应用开发中能显著提升开发效率,但也需要注意对象新增属性和数组变异等常见问题。在实际工程实践中,合理使用组件系统、生命周期钩子和状态管理方案(如Vuex)是构建可维护应用的关键。本文通过解析Vue的响应式原理、虚拟DOM工作机制和组件通信方式,帮助开发者掌握

chubaisheng8627的博客 358

YOLO系列算法改进 | C3k2改进篇 | 融合DEConv细节增强卷积模块 | 细节增强+多分支差分卷积融合,标准卷积的完美涨点替代! | TIP 2024

YOLO系列算法改进 | C3k2改进篇 | 融合DEConv细节增强卷积模块 | 细节增强+多分支差分卷积融合,标准卷积的完美涨点替代! | TIP 2024 (以YOLO26最新目标检测模型为基础,融合C3k2_DEConv创新模块进行改进)

2502_91881744的博客 310

盗号木马Trojan-PSW.Win32.OLGame.vdh

病毒症状  该病毒是使用VC编写的盗号程序,由微点主动防御软件自动捕获,采用UPack加壳方式试图躲避特征码扫描,加壳后长度为19,936字节,图标为Windows默认可执行文件图标,病毒扩展名为exe,主要通过网页木马、文件捆绑方式传播。病毒分析  该木马程序运行后,检测系统中是否存在avp.exe进程,如果有则通过相关API函数将%systemroot%/system32/drivers/be

981

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

windows应急响应

文章目录windows---应急响应windows网页应急响应一.传马工具扫上传的马二.分析日志,端口,进程,服务,近期打开的文件,开机启动项三.找到攻击者所找到的漏洞,打补丁windows系统应急响应 windows—应急响应 windows网页应急响应 一.传马工具扫上传的马 二.分析日志,端口,进程,服务,近期打开的文件,开机启动项 1.分析日志 网站通常是看中间件日志,通常目录是在中间件的logs目录下的acces.log文件。 看日志可以分析攻击者发起啦哪些攻击,也可快捷键找自己需要的内容

weixin_44110913的博客 1933

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

病毒周报(100125至100131)

动物家园计算机安全咨询中心(www.kingzoo.com)反病毒斗士报: “控制者”(Trojan/Win32.KillAV.bkx[Dropper]) 威胁级别:★★ 该恶意代码文件为灰鸽子变种后门类***,病毒运行后创建dll843.dll文件到临时目录下,创建完成后动态加载该病毒DLL文件,释放批处理文件到临时目录下,用于删除病毒原文件,病毒DLL被加载之...

weixin_33720078的博客 125

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

磁碟机病毒(VcingT)越来越变态——最新分析报告发布

病毒名称:Worm.VcingT.w.102400 中文名称:磁碟机变种 病毒长度:36864 威胁级别:2 病毒类型:Trojan 病毒简介: 这是一个下载者病毒,会关闭一些安全工具和杀毒软件并阻止其运行运行,并会不断检测窗口来关闭一些杀毒软件及安全辅助工具 ,破坏安全模式,删除一些杀毒软件和实时监控的服务, 远程注入到其它进程来启动被结束进程的病毒, 反复写注册表来破坏系统安全模式,病毒会在每

961

盘点那些电脑病毒 ( 1 )

磁碟机病毒又名dummycom病毒,传播最迅速,变种最快,破坏力最强的病毒。据360安全中心统计每日感染磁碟机病毒人数已逾100,1000用户!“磁碟机”现已经出现100余个变种,病毒感染和传播范围正在呈现蔓延之势。病毒造成的危害及损失10倍于“熊猫烧香。

C_User1024的博客 1650

内网信息收集总结

前言 本文记录一些内网渗透的注意点,信息比较散乱,后续更新完善 本机信息查询:常用信息 本机服务列表wmic service list brief本机进程列表Tasklist /v浏览器代理信息reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"RDP端口号(16进制)reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

cainsoftware的博客 522

磁碟机病毒分析

病毒简介: 这是一个下载者病毒,会关闭一些安全工具和杀毒软件并阻止其运行运行,并会不断检测窗口来关闭一些杀毒软件及安全辅助工具,破坏安全模式,删除一些杀毒软件和实时监控的服务,远程注入到其它进程来启动被结束进程的病毒,反复写注册表来破坏系统安全模式,病毒会在每个分区下释放 AUTORUN.INF 来达到自运行。 病毒功能: 一、病毒通过修改系统默认加载的DLL 列表项来实现DLL 注入,并在...

weixin_30872157的博客 316

ESP32舵机控制实战:从PWM原理到供电优化与平滑运动

在嵌入式与机器人项目中,PWM(脉宽调制)是驱动舵机等执行器的核心信号机制。舵机的转角本质上由高电平脉宽决定,而ESP32凭借内置LEDC硬件外设,可稳定输出多路PWM,显著优于依赖CPU延时的软件模拟方案。实际工程中,供电能力不足、脉宽范围未校准、多舵机电流冲击等问题,往往比代码本身更容易导致系统复位或抖动。本文以ESP32为例,从PWM基础原理切入,讲解LEDC配置、舵机库使用、供电架构设计、脉宽校准方法,并延伸至平滑插值、轨迹回放与远程控制等进阶玩法,同时整理常见故障排查思路,帮助开发者将舵机控制从“

weixin_34007886的博客 335

L2TP协议及AVP

一、L2TP简介   L2TP(Layer 2 Tunneling Protocol,二层隧道协议)是VPDN(Virtual PrivateDial-up Network,虚拟私有拨号网)隧道协议的一种。 1、保护PPP报文。 2、数据没有加密机制,可通过IPSEC保证数据安全。 3、同3层VPN(IPSec\GRE)有所区别的是,L2TP是将来自用户网络

学习经验 9732

NtBuildNumber

NtBuildNumber

求索 2142
上一篇: Introduction to Registry Filtering in Vista(OSR)
下一篇: WIN和TCPIP栈的一些资料
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值