卡巴主动防御中检测隐藏进程的方法: 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; } 阐述中存在错误,望指教,谢谢!转载请注明地址 :)
相关推荐
《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》
《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》
跟踪Native API函数调用
跟踪Native API函数调用序言我们来研究一样非常有用的东西。我甚至要说,在某些情况下,离了它是寸步难行的,而且它能让我们对Windows的内部机制有个很好的认识。是的,本文的题目已经是不新鲜的已经被讲滥了的东西了。在这方面有众多的文章甚至是专著,作者也都是著名的专家,像Jeferry Ritcher
产品经理-面试题目--持续更新
答:面试官,你好,我叫XXX,来自于XXXX,我系统的学习过软件开发,也主动的积累了不少产品方面的实战经验,在学习期间,我自己独立的完成了2个深度项目,一个是仿抖音的短视频APP全流程设计,另外一个是电商后台系统的模块,通过这些项目,我不仅熟练使用Axure等工具做出高保真原型图和清晰的产品框架,也形成了数据驱动和用户优先的思维习惯,另外,我也注重拓展自己的能力边界,拿到了CAIE人工智能证书,我希望能把AI能力融入到产品场景,提升体验和效率,我非常喜欢产品工作带来的创造性和逻辑性,希望有机会加入贵公司。
转:Windows NT/2000内部数据结构探究
WINDOWS系统隐含了不少内部数据结构,其记录着与系统相关的所有重要信息如线程、进程、内核调用等等,具体如Windows NT/2000模块ntoskrnl.exe中的NtBuildNumber与KeServiceDescriptorTable等(用SoftICE或Visual Studio所带的Dependency Walker之类的可以看到),前者只是指出当前Windows的Buil
Xiaojie雷达之路---使用CCS创建一个毫米波雷达的工程(AWR1843)
前些天,在工具箱中下载了一个基于毫米波雷达(AWR1843)自动停车的案例,并成果导入CCS中,可以完美运行,但是如何新建一个新的工程呢?这篇文章就会对其进行讲述。
sram设计流程+memory compiler整理
→。
linux下的arp防火墙 ---- shadaarp
最近公司新来了一组开发人员,搞的最近网速总是不稳定。甚至会有arp攻击,也不知是开了限速软件还是电脑中毒了。 赶快给自己裸奔的ubuntu套上马甲 arp 防火墙 shadaarp下载 ubuntu用户下载.deb 双击安装 终端下:cd /usr/local/lib/shada-arpfirewallsudo make 开始->interne
virtualbox虚拟机里面最顶部没有控制、设置和帮助等选项
无意中操作,导致virtualbox虚拟机里面最顶部没有控制,设置和帮助选项 virtualbox虚拟机窗口显示如下如: 如何设置,窗口显示如下图所示呢: virtualbox虚拟机窗口模式显示设置,切换可以通过如下图所示操作进行切换: PS:一定要是右边的Ctrl+C
绕过卡巴主动防御的批处理
@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
光学设计仿真软件:Code V_(8).场曲和色差校正
通过以上步骤和代码示例,用户可以更好地理解如何在Code V中进行场曲和色差的校正。这些技术不仅有助于提高光学系统的成像质量,还可以为后续的光学设计提供重要的参考。在实际应用中,用户可以根据具体需求选择合适的校正方法和优化策略,以达到最佳设计效果。
PDN分析实战:电源完整性设计与Altium PDN Analyzer全流程指南
电源完整性(PI)是嵌入式硬件系统稳定运行的基础能力,其核心在于控制电流密度与电压降两大物理量。基于欧姆定律与热-电耦合原理,PDN分析将抽象的电源噪声问题转化为可量化、可定位的几何与电气参数优化过程。该技术显著提升系统抗干扰能力、降低复位与ADC漂移等隐性故障率,并直接支撑EMC合规性设计。典型应用场景包括电机驱动板、Wi-Fi模块、STM32/ESP32等资源受限型MCU供电网络验证。本文以Altium Designer为工具平台,结合IPC-2152标准与真实工程案例,详解从功率预算、模型构建到瓶颈定
深入解析Vue.js核心机制与最佳实践
响应式系统是现代前端框架的核心机制,通过数据劫持和发布-订阅模式实现数据与视图的自动同步。Vue.js采用Object.defineProperty(Vue 2)或Proxy(Vue 3)实现响应式,配合虚拟DOM的diff算法实现高效更新。这种机制在大型应用开发中能显著提升开发效率,但也需要注意对象新增属性和数组变异等常见问题。在实际工程实践中,合理使用组件系统、生命周期钩子和状态管理方案(如Vuex)是构建可维护应用的关键。本文通过解析Vue的响应式原理、虚拟DOM工作机制和组件通信方式,帮助开发者掌握
YOLO系列算法改进 | C3k2改进篇 | 融合DEConv细节增强卷积模块 | 细节增强+多分支差分卷积融合,标准卷积的完美涨点替代! | TIP 2024
YOLO系列算法改进 | C3k2改进篇 | 融合DEConv细节增强卷积模块 | 细节增强+多分支差分卷积融合,标准卷积的完美涨点替代! | TIP 2024 (以YOLO26最新目标检测模型为基础,融合C3k2_DEConv创新模块进行改进)
盗号木马Trojan-PSW.Win32.OLGame.vdh
病毒症状 该病毒是使用VC编写的盗号程序,由微点主动防御软件自动捕获,采用UPack加壳方式试图躲避特征码扫描,加壳后长度为19,936字节,图标为Windows默认可执行文件图标,病毒扩展名为exe,主要通过网页木马、文件捆绑方式传播。病毒分析 该木马程序运行后,检测系统中是否存在avp.exe进程,如果有则通过相关API函数将%systemroot%/system32/drivers/be
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文件。 看日志可以分析攻击者发起啦哪些攻击,也可快捷键找自己需要的内容
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
病毒周报(100125至100131)
动物家园计算机安全咨询中心(www.kingzoo.com)反病毒斗士报: “控制者”(Trojan/Win32.KillAV.bkx[Dropper]) 威胁级别:★★ 该恶意代码文件为灰鸽子变种后门类***,病毒运行后创建dll843.dll文件到临时目录下,创建完成后动态加载该病毒DLL文件,释放批处理文件到临时目录下,用于删除病毒原文件,病毒DLL被加载之...
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
磁碟机病毒(VcingT)越来越变态——最新分析报告发布
病毒名称:Worm.VcingT.w.102400 中文名称:磁碟机变种 病毒长度:36864 威胁级别:2 病毒类型:Trojan 病毒简介: 这是一个下载者病毒,会关闭一些安全工具和杀毒软件并阻止其运行运行,并会不断检测窗口来关闭一些杀毒软件及安全辅助工具 ,破坏安全模式,删除一些杀毒软件和实时监控的服务, 远程注入到其它进程来启动被结束进程的病毒, 反复写注册表来破坏系统安全模式,病毒会在每
盘点那些电脑病毒 ( 1 )
磁碟机病毒又名dummycom病毒,传播最迅速,变种最快,破坏力最强的病毒。据360安全中心统计每日感染磁碟机病毒人数已逾100,1000用户!“磁碟机”现已经出现100余个变种,病毒感染和传播范围正在呈现蔓延之势。病毒造成的危害及损失10倍于“熊猫烧香。
内网信息收集总结
前言 本文记录一些内网渗透的注意点,信息比较散乱,后续更新完善 本机信息查询:常用信息 本机服务列表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
磁碟机病毒分析
病毒简介: 这是一个下载者病毒,会关闭一些安全工具和杀毒软件并阻止其运行运行,并会不断检测窗口来关闭一些杀毒软件及安全辅助工具,破坏安全模式,删除一些杀毒软件和实时监控的服务,远程注入到其它进程来启动被结束进程的病毒,反复写注册表来破坏系统安全模式,病毒会在每个分区下释放 AUTORUN.INF 来达到自运行。 病毒功能: 一、病毒通过修改系统默认加载的DLL 列表项来实现DLL 注入,并在...
ESP32舵机控制实战:从PWM原理到供电优化与平滑运动
在嵌入式与机器人项目中,PWM(脉宽调制)是驱动舵机等执行器的核心信号机制。舵机的转角本质上由高电平脉宽决定,而ESP32凭借内置LEDC硬件外设,可稳定输出多路PWM,显著优于依赖CPU延时的软件模拟方案。实际工程中,供电能力不足、脉宽范围未校准、多舵机电流冲击等问题,往往比代码本身更容易导致系统复位或抖动。本文以ESP32为例,从PWM基础原理切入,讲解LEDC配置、舵机库使用、供电架构设计、脉宽校准方法,并延伸至平滑插值、轨迹回放与远程控制等进阶玩法,同时整理常见故障排查思路,帮助开发者将舵机控制从“
L2TP协议及AVP
一、L2TP简介 L2TP(Layer 2 Tunneling Protocol,二层隧道协议)是VPDN(Virtual PrivateDial-up Network,虚拟私有拨号网)隧道协议的一种。 1、保护PPP报文。 2、数据没有加密机制,可通过IPSEC保证数据安全。 3、同3层VPN(IPSec\GRE)有所区别的是,L2TP是将来自用户网络
NtBuildNumber
NtBuildNumber
1369



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



