能力值:
( LV12,RANK:760 )
|
-
-
2 楼
自己写个调试器~~
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
有那本事的,都不在这儿说话了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
双机调,或者把驱动先改掉
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我也遇见了个DLL反调试
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
Dll反调试?那跟EXE反调试应该没有区别的吧,Dll中的代码被执行也是加载到EXE地址空间运行的嘛.
不过,我看的这个小东西的反调试其实很简单,它只不过反把我们一般常用的反调试伎俩放到驱动里面来了.是这样的,它利用同步IO,同步IO在驱动里面调用ZwGetCurrentProcess将得到的调用者的进程,从而它可以得到调用者的进进程地址空间,然后,调用程序走一段,调用一下DeviceIoControl.
另外,这个程序还利用驱动做断点检测,沿袭了前面说的,利用不同的阶段向驱动发送不同的IO控制字(调用DeviceIoControl),对不同范围内的代码进行解密,这样的话,如果需要保护的关键部分被插入断点的话,解密就会失败,程序就会越走越离谱.这个办法对搞不了硬件断点.
这是我这几天看这个东西的一点收获,我是新手,多谢论坛里一些热心人帮忙
|
|
|