首页
社区
课程
招聘
[求助]逆向工程核心原理-调试钩取问题
发表于: 2023-3-31 17:57 6263

[求助]逆向工程核心原理-调试钩取问题

2023-3-31 17:57
6263

图片描述
在CREATE_PROCESS_DEBUG_EVENT中拿到了被调试程序的CREATE_PROCESS_DEBUG_INFO->g_cpdi(其中包含当前进程的hprocess和hthread),并设置了int3断点
然后在断点触发后(EXCEPTION_DEBUG_EVENT),进入处理函数
图片描述
图片描述
如图这样,直接设置的eip寄存器的值,可是当前g_cpdi不应该是刚刚附加进程时候的进程上下文吗,而附加----->断点触发这一过程 线程的上下文不应该有变化吗,而且这个CREATE_PROCESS_DEBUG_INFO中的hthread应该是主线程吧

 

求大佬求解


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 1545
活跃值: (4598)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
ctx是线程上下文,g_cpdi我猜是creatprocess时获取的进程的一些信息
2023-3-31 22:06
0
雪    币: 41
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
逆向爱好者 ctx是线程上下文,g_cpdi我猜是creatprocess时获取的进程的一些信息
是的,这个程序的目的是附加另一个程序设置断点进行调试,我的迷惑点在是在附加时获取的上下文信息,然后直接拿来在断点触发时使用,这时上下文信息不应该已经过时了吗
2023-4-3 09:45
0
雪    币: 203
活跃值: (1144)
能力值: ( LV9,RANK:195 )
在线值:
发帖
回帖
粉丝
4
毛仙 是的,这个程序的目的是附加另一个程序设置断点进行调试,我的迷惑点在是在附加时获取的上下文信息,然后直接拿来在断点触发时使用,这时上下文信息不应该已经过时了吗

我也不明白你为什么不懂,你要不再仔细看看GetThreadContext是什么作用?

最后于 2023-4-3 17:03 被palkiver编辑 ,原因:
2023-4-3 17:00
0
雪    币: 1545
活跃值: (4598)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
毛仙 是的,这个程序的目的是附加另一个程序设置断点进行调试,我的迷惑点在是在附加时获取的上下文信息,然后直接拿来在断点触发时使用,这时上下文信息不应该已经过时了吗
这个是createprocess调试进程,默认停在一个int3系统断点,这时候不做处理直接继续进程也是没问题的
2023-4-3 23:25
0
雪    币: 41
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
palkiver 毛仙 是的,这个程序的目的是附加另一个程序设置断点进行调试,我的迷惑点在是在附加时获取的上下文信息,然后直接拿来在断点触发时使用,这时上下文信息不 ...
明白了,哈哈哈,你这么一说我就懂了
2023-4-4 17:28
0
游客
登录 | 注册 方可回帖
返回
//