首页
社区
课程
招聘
[求助]请问有没搞过新版THEMIDA的antibreakpoints
发表于: 2007-7-7 00:27 9666

[求助]请问有没搞过新版THEMIDA的antibreakpoints

2007-7-7 00:27
9666
新版的THEMIDA加的东东在OD下很难下断了。包括CC 内存 硬断。请问有没大侠解决过这个问题?指点一下。老是弹出异常8000003

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
2
把反调试线程搞了
2007-7-7 12:19
0
雪    币: 243
活跃值: (274)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
我把所有调试线程K了,一样不行的。他的反断点是用壳的异常实现的。好像是用了SDK的功能。接管了异常处理。那一块东东返回壳后处理还有VM。能提供一下OD的断点原理来看看吗?CC 内存 硬件三种断点的实现原理。
2007-7-7 17:35
0
雪    币: 325
活跃值: (97)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
4
反调试好像结束了 VM保护的代码就执行不了啦。。。不晓得。。望高手指教。
看来都只能够学着用WinDbg了。
2007-7-7 18:57
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
那些反调试线程要用于动态解码的  不能直接枪毙
2007-7-8 18:17
0
雪    币: 243
活跃值: (274)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
那些线程断不断都影响不了反断点的功能。偏偏就是代码区的下不了断了。其它的都能下断。肯定是壳干的好事。老是出异常,你们有没遇到新的THEMIDA会这样吗?有没人说一下OD的断点原理?只能在根本上下手了
2007-7-8 19:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
好象中断等级不够,它不会是运行在0级特权上吧
2007-7-8 21:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
低等级代码访问高等级段的话,就会出现异常中断,然后把控制权交由系统处理.
2007-7-8 21:17
0
雪    币: 243
活跃值: (274)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
我用0级调试器一样给发现了
2007-7-8 22:07
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
10
貌似还没有遇到着何种情况
2007-7-8 22:58
0
雪    币: 243
活跃值: (274)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
能不能讲解一下硬件断点,CC等的断点的原理。现在我给他几个SEH链的异常搞得晕头转向。
像是用了THEMIDA的SDK反断点。外面一般不是经常能见到。
2007-7-8 23:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
可能是它更改了IDT中断描述符表里的中断号地址入口.楼主检查一下.断点是由处理器里一组DR0-DR7的调试寄存器控制的.
2007-7-9 07:14
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
13
http://deroko.phearless.org/index.html
2007-7-9 09:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
查看了一下资料.觉得能够做到以上功能的只有两种可能.一个是修改中断符表里中断号的入口地址,然后在中断号入口地址里连上自己写的服务程序.因为对于整个系统来说,中断符表只有一个.这样当出现中断时,处理器就会跑到对应的中断号入口地址里运行它的服务程序.
要修改中断描述符表就必然要用到装入中断描述符表寄存器指令 LIDT 和SIDT 保存中断描述符表寄存器指令.
另一个就是它使用了页面(页面是按固定大小组成的内存空间,如80386的页大小为4KB,1024个页组成一个特殊页,1024个特殊页组成一个特殊爷组.由CR0-CR3控制寄存组控制)保护特性.页面保护的特性是,当控制寄存器CR0的D16位WP=1时用户级的页面对核心级的访问(0级特权)进行写保护.也就是0级特权不能对该页的用户级内存空间进行修改.只有当WP=0时,才允许核心代码对用户级只读页面进行改写.
如果要使用页面保护的话,就得修改CR0寄存器的WP.操作此寄存器的指令为 LMSW 装入机器状态指令.
2007-7-9 11:07
0
雪    币: 163
活跃值: (60)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
15
对于双核机器来说,就有两张IDT
2007-7-9 23:50
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
好像是挺难搞的 弄不出来
2007-7-10 05:14
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
17
hook NtSetInformationThread   就可以用硬件断点调试了  
2007-7-10 10:02
0
雪    币: 243
活跃值: (274)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
18
问题解决。封帖。
2007-7-11 13:13
0
雪    币: 251
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
什么版本的THEMIDA??
ollyice可以调试哈, 以前的帖子有

我试过1.9的 API的代码重新产生,可能没办法下断点
但是可以下到API调用的子函数里面
2007-7-25 11:37
0
游客
登录 | 注册 方可回帖
返回
//