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