bool GetPEBOffset(ULONG* PEBOffset) EJCKVT
{ BSO6Z("a7
ULONG n,*Buffer,PID,Count=0,i=0; ${iMlcd/,
UCHAR* SearchBuffer; Je%)/U
PEPROCESS Pr = NULL; ,p:crJ9
bool bOK; |bsJ1=U
ULONG Array[3]={0,0,0}; n]3|Ca*
if(PEBOffset) uGVn}+
*PEBOffset=0; > >u R L
ZwQuerySystemInformation(SystemModuleInformation,&n,0,&n); 9<-0B%8
Buffer = (ULONG*)ExAllocatePool(NonPagedPool,n*sizeof(ULONG)); %sKb
ZwQuerySystemInformation(SystemProcessInformation,Buffer,n*sizeof(ULONG),0); G]b})kb
ULONG Offset = 0; ~$ ]<?5
SYSTEM_PROCESS_INFORMATION*P=(SYSTEM_PROCESS_INFORMATION*)Buffer; wZ~{@tIw
do LE JKY< H
{ ~~~)+y
P=(SYSTEM_PROCESS_INFORMATION*)((BYTE*)P+Offset); ^8H+P4
Offset = P->NextEntryOffset; s$BpH5[=h=
PID = PTR_TO_NUM(P->UniqueProcessId); M' ([~
if(PID<8)continue; _lA+8%?e
Pr = NULL; gf n>~(
PsLookupProcessByProcessId(NUM_TO_PTR(PID),&Pr); &n,1JS5}
if(Pr) Z #-0(@
{ IMR1R#u
SearchBuffer=(UCHAR*)Pr; C[Xn"o+h
if(MmIsAddressValid((VOID*)&SearchBuffer[0x150])==false) jxN:
continue; a@D>rT*G
if(MmIsAddressValid((VOID*)&SearchBuffer[0x304])==false) K{)h!h4v5
continue; ;LW;HKq<
for(n = 0x150; n < 0x300;n++) n`,'&C$
{ a- xa/i(e
if((*(DWORD*)&SearchBuffer[n] & 0x7FFD0FFF)==0x7ffd0000) /=Q N1m
{ (1 n_aIz
Array=n; 'qyx"t
i++; U<~WMl8
break; hk.hA
} DJzMwe
} #j_3DT`jb
if(i>=3) FWal&plg
break; ^o-uOOw [
} [ i r^&4c
}while(Offset); &56@(2S
ExFreePool(Buffer); X(zYGWn j
bOK=true; | hDYe?gI
for(i = 0; i < 3;i++) dM*gm=
{ ocMktwm~
if(Array!=Array[0]) -f~5#6Q]
{ m G-4F/
bOK=false; wo!rp|>*
break; 9jWO#8&[1
} w=4RBNe
} f<JD JTe%{
if(bOK) ~CSi@]49
{ dwR. 4KY
if(PEBOffset) 9bSVKv]
*PEBOffset=Array[0]; ai Uk:e
DbgPrint("Syser : Find PEB at %x of EPROCESS/n",Array[0]); h[B#cF.3'
} j`2zNEO9]
return bOK; o 2~bU/
}
相关推荐
进程线程 1.EPROCESS和进程隐藏
一、EPROCESS结构体 EPROCESS结构 kd> dt _EPROCESS ntdll!_EPROCESS +0x000 Pcb : _KPROCESS +0x06c ProcessLock : _EX_PUSH_LOCK +0x070 CreateTime : _LARGE_INTEGER +0x078 ExitTime : _LARGE_INTEGER +0x080 RundownProtect
进程结构体
进程结构体EPROCESS 每个windows进程在0环都有对应的结构体:EPROCESS这个结构体包含了进程所有重要的信息。 使用windbg查看:dt _EPROCESS EPROCESS与PEB是有区别的:EPROCESS在0环PEB在3环。 EPROCESS结构体属性(KPROCESS) +0x0 Pcb 是一个KPROCESS结构体 Windbg查看KPROCESS:dt _KPROCESS KPROCESS第一个属性: +0x0 Header DISPATCHER_HEARDER 只要是该DI
WIN7的EPROCESS和PEB和WINXPSP3的EPROCESS
WIN7 EPROCESS 这个命令是查看_EProcess结构下面的所有结构体和联合体 dt -r1 _Eprocess lkd> dt nt!_EPROCESS +0x000 Pcb : _KPROCESS +0x098 ProcessLock : _EX_PUSH_LOCK +0x0a0 CreateTime :
如何在驱动程序(sys)中得到当前进程的完整路径和进程名?
学习雨盾的源码,看到了在驱动程序中得到当前进程的完整路径和进程名的代码,网上搜了一下,文档不少,学习。。。《摘自http://www.chinaitpower.com/A/2001-10-09/1177.html作者:xstudio 时间:2001-10-09 10:09 出处:互联网 责编:chinaitpower 》首先利用PsGetCurrentProcess
从PEB.BeingDebugged到NtGlobalFlag:Windows反调试技术的底层原理与绕过思路
本文深入解析Windows反调试技术中PEB结构的核心原理,重点探讨BeingDebugged、NtGlobalFlag和ProcessHeap三大关键标志的检测机制与绕过方法。通过内存补丁、API挂钩和内核层修改等实战技巧,帮助安全研究人员有效对抗调试检测,提升逆向工程效率。
Process Hacker 2在DLL注入与虚表Hook中的实时诊断实践
DLL注入与虚表(vtable)Hook是Windows逆向工程和安全研究中的核心底层技术,其成败高度依赖对进程运行时状态的精准感知。其原理涉及内存管理、句柄权限、加载器锁、ETW监控及C++对象模型等多层机制;技术价值在于实现无侵入式行为劫持与动态分析,支撑安全检测绕过、功能增强与协议逆向等关键场景;典型应用包括EDR对抗、金融客户端插件开发、多媒体渲染Hook及反作弊研究。然而,90%的失败源于未验证目标进程的真实状态——如模块是否已加载、内存页是否可写、加载器锁是否被持有、ETW是否启用。Proces
解锁OpenArk安全分析实战指南:系统安全检测与恶意进程分析利器
当任务管理器无法显示隐藏进程、杀毒软件对Rootkit束手无策、系统回调被劫持却难以追踪时,OpenArk作为新一代反Rootkit工具,为安全分析师和系统管理员提供了一站式解决方案。它深度整合进程分析、内核监控和工具集成功能,让复杂的系统安全检测变得高效而精准。 ## 进程检测:让隐藏威胁无所遁形 ### 问题发现:被篡改的系统进程链 某企业用户反馈服务器频繁卡顿,任务管理器显示CPU占用率
Windows内核驱动逆向分析实战:从混淆壳到功能解构
在软件安全与系统底层开发领域,理解程序如何与操作系统内核交互是核心课题。内核模式驱动程序作为连接用户态应用与硬件资源的桥梁,其工作原理涉及内存管理、进程调度和系统服务调用等基础概念。通过逆向工程分析驱动,不仅能深入理解Windows内核机制,还能有效提升对抗恶意代码、构建安全防护体系的技术能力。本次分析聚焦于一个经过高强度混淆和反调试保护的游戏外挂驱动,运用IDA Pro、WinDbg等工具链,系统性地拆解了其从动态解密、反调试对抗到内存隐藏、内核回调注册的全过程。文章详细阐述了如何搭建安全的虚拟化分析环境
WINDOWS内核编程的核心函数 PsGetProcessPeb(续)
摘要:PsGetProcessPeb是Windows内核中获取进程PEB(Process Environment Block)的关键函数。文章详细解析了其功能、实现原理(包括EPROCESS结构体偏移和WOW64处理)及典型应用场景(如模块枚举、调试检测)。重点强调了兼容性问题、内存安全访问和权限要求等注意事项,并提供了逆向工程防御建议。最后指出该技术仅限合法授权场景使用,未经授权实施属违法行为。全文兼顾技术深度与安全伦理,适合内核开发者学习参考。
Windbg四大核心命令实战解析:从蓝屏分析到崩溃定位
Windows调试是系统级问题排查的基础能力,其核心在于理解调试器如何与内核符号、内存布局和调用栈协同工作。Windbg作为官方深度调试工具,其价值不在于命令数量,而在于关键命令对底层机制的精准映射——如!analyze -v触发异常分类与符号联动,lm揭示模块加载状态与虚拟地址空间,kb/kpn实现双模堆栈回溯,dt完成结构体级内存解剖。这些能力共同构成崩溃分析的技术闭环:从异常捕获、环境验证、路径还原到上下文深挖。本文聚焦真实dmp分析场景,以可复现的四步法串联调试逻辑,帮助开发者绕过符号配置陷阱、堆栈
9、深入解析PE加载、进程创建与调试技术
本文深入解析了Windows系统中PE文件的加载过程与进程创建机制,详细介绍了线程环境块(TEB)和进程环境块(PEB)等关键数据结构,并探讨了WOW64子系统在运行32位程序中的作用。文章还系统讲解了调试工具如OllyDbg和x64dbg的使用方法,包括断点设置、程序执行修改、关键信息搜索等技术,为逆向工程和恶意软件分析提供了实用的调试策略和实战案例分析。
WINDOWS内核编程之PsGetProcessPeb函数
本文解析了Windows未公开函数PsGetProcessPeb的功能与实现原理,该函数用于获取进程PEB(进程环境块)地址。文章详细介绍了PEB的核心作用、函数定位方法,以及在x64/WOW64系统中的特殊处理。重点分析了其三大实战应用:枚举进程模块、检测进程调试状态、读取命令行参数,并提供了代码示例。同时强调了使用时的兼容性、内存访问安全和权限要求等注意事项,以及逆向工程中的防御检测方法。文末指出该技术仅限合法授权使用,强调技术研究的合规性。
思澈sdk-新建lcd
co5300至此有3个同ID的驱动,在co5300xxxx.c的LCD_DRIVER_EXPORT(co5300, LCD_ID, &lcdc_int_cfg, &CO5300_drv, LCD_PIXEL_WIDTH, LCD_PIXEL_HEIGHT, 2);2 在customer\peripherals\Kconfig_lcd中添加如下配置(注意修改的地方有两个LCD_USING_TFT_CO5300_143)5 在该文件中的config LCD_DPI配置项下添加:(这里300为DPI)
内核态进程管理器Intercessor和实现细节
内核态进程管理器Intercessor和实现细节 2007-11-27 12:35 1087人阅读 评论(0) 收藏 举报 objecthooksystemintegerheaderfunction 标 题: 【原创】内核态进程管理器Intercessor和实现细节 作 者: greatcsk 时 间: 2007-09-05,20:20 链 接: http://b
目标检测——布匹缺陷检测数据集
结构瑕疵指的是布料本身的缺陷,包括嵌结、抽纱、错纱、断纱、预缩等问题,这些问题通常是在布料生产过程中出现的。而质量瑕疵则是指布料在使用过程中出现的问题,如污渍、断裂、鼓囊、针眼等,这些问题可能由生产过程中的结构瑕疵导致,也可能是在运输、存放和使用过程中引起的。布匹瑕疵如缺纬、断纬、粗纬、松纬、缺经、断经、粗经、筘痕、污点、破损等,若未得到及时有效的检测,这些瑕疵产品可能会流向市场,导致消费者的不满和退货,严重影响企业的声誉和品牌形象。织疵包括缺经、缺纬、跳花、弓纱、错纱、厚薄段、油污渍等;
新手必看:用Simulink搭建飞跨电容三电平逆变器的完整流程(附SPWM配置技巧)
本文详细介绍了使用Simulink搭建飞跨电容三电平逆变器(FCNPC)的完整流程,特别聚焦于SPWM调制策略的配置技巧。通过模块拆解、参数设置和波形优化的三步法,配合实操截图和典型参数表,帮助新手快速掌握多电平逆变器的建模与仿真技能,适用于电力电子学习和项目开发。
LdrInitializeThunk 解析
copy from http://hi.baidu.com/5iprog/item/00ab5e092ecfb1cb75cd3c44 LdrInitializeThunk() Windows 的 DLL 装入(除 ntdll.dll 外)和连接是通过 ntdll.dll 中的一个函数LdrInitializeThunk()实现的. 在进入这个函数之前,目标 EXE 映像已经被映射到当...
《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》
《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.33.3高可用集群》
PsGetProcessWow64Process 深度解析:Windows内核中的WOW64进程探测器
本文介绍了Windows内核中的PsGetProcessWow64Process函数,该函数用于检测32位进程在64位系统中的运行情况。文章解析了函数特性、参数及实现原理,并提供了实战应用场景,包括进程类型检测、模块遍历和反调试等。同时强调了使用时的注意事项,如架构兼容性和内存访问安全。最后对比了PsGetProcessPeb函数,并给出防御滥用和逆向工程的建议。本文仅供学习参考,严禁用于非法用途。
RouterOS网桥VLAN实战:从零构建安全隔离的二层虚拟网络
本文详细讲解了如何在RouterOS上利用网桥和VLAN功能,从零开始构建安全隔离的二层虚拟网络。通过分步实战演示,涵盖核心概念、网桥创建、PVID设置、VLAN规则配置及安全过滤,帮助网络管理员实现办公、访客与服务器网络的逻辑隔离与灵活管理,提升网络安全性。
CXL技术入门:从PCIe到高性能计算的桥梁(附最新2.0协议解析)
本文深入解析CXL技术如何作为PCIe的进化版,成为高性能计算的关键桥梁,特别聚焦CXL 2.0协议的关键升级。从技术架构、三大子协议到典型应用场景,全面介绍CXL在缓存一致性、内存共享等方面的优势,帮助开发者快速掌握这一前沿技术。
【驱动开发】:进程注入相关问题
进程注入与系统架构概述 主要内容摘要 DLL注入是将动态链接库加载到目标进程地址空间的技术,主要用于功能扩展、调试、自动化或安全监控。常见注入方法包括CreateRemoteThread、SetWindowsHookEx、注册表修改和内存映射等。 进程防护措施包括:代码完整性检查、内存保护、模块加载监控、权限管理及利用操作系统安全特性(如DEP/ASLR)。综合使用多种策略可有效提高防护效果。 进程与镜像的关键区别在于:进程是执行环境(EPROCESS结构),而镜像是加载到内存的可执行文件(LDR_DATA
Spring Framework 7.002.Spring IoC 容器与 Bean 简介(Introduction to the Spring IoC Container and Beans)
摘要:Spring框架的核心技术包括IoC容器和AOP技术。IoC容器通过依赖注入实现控制反转,提供Bean管理和配置功能。ApplicationContext作为BeanFactory的扩展,增加了企业级特性。文档详细介绍了容器配置、Bean定义、依赖注入、作用域等核心概念,以及基于注解的配置方式。AOP框架支持80%的AOP需求,并可集成AspectJ。此外还涵盖环境抽象、容器扩展点等高级特性,为Java企业应用开发提供全面支持。(150字)
WINDOWS+PE权威指南读书笔记(15)
目录 线程局部存储 Windows 进程与线程: Windows 体系结构: 进程与线程创建: 进程环境块 PEB: 线程环境块TEB: 什么是线程局部存储: 动态线程局部存储: 动态TLS 实例: 获取索引TIsAlloc: 按索引取值 TlsGetValue: 按索引存储 TlsSetValue: 释放索引 TIlsFree: 静态线程局部存储:(.tls节) TLS 定位: TLS 目录结构 IMAGE_TLS_DIRECTORY32: 静态TLS 实例分析:(结
10分钟搞定manim安装与vscode配置
manim安装与vscode配置
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
进程标识机制解析:进程名与系统标识符的生成原理与应用实践
本文详细解析了Windows系统中进程名与标识符的运行机制。进程名由可执行文件名决定,不受启动方式(图形界面、命令行或API调用)影响,且启动后通常不可修改。系统通过PID(进程ID)唯一标识每个进程,PID由内核动态分配且具有生命周期特性。窗口句柄(HWND)则是GUI元素的独特标识,与PID配合可实现精准的窗口控制。文章还对比了Windows与Linux在进程管理上的差异,前者强调稳定性而后者注重灵活性。这些机制为系统管理、安全防护和开发调试等场景提供了基础支持。
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
1814



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



