能力值:
( LV2,RANK:10 )
|
-
-
2 楼
上网查了下``可能是加了个SafeNet (圣天狗)
暂时还没找到解决方法
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这个程序在运行时可能是先触发个异常中断,然后再通过系统调用来判断出你是否正在使用调试器.
我转个资料让你看下:
我们将对SEH的机制以及实现有一个彻底的了解.
发生异常时系统的处理顺序(by Jeremy Gordon):
1.系统首先判断异常是否应发送给目标程序的异常处理例程,如果决定应该发送,并且目标程序正在被调试,则系统
挂起程序并向调试器发送EXCEPTION_DEBUG_EVENT消息.呵呵,这不是正好可以用来探测调试器的存在吗?
2.如果你的程序没有被调试或者调试器未能处理异常,系统就会继续查找你是否安装了线程相关的异常处理例程,如果
你安装了线程相关的异常处理例程,系统就把异常发送给你的程序seh处理例程,交由其处理.
3.每个线程相关的异常处理例程可以处理或者不处理这个异常,如果他不处理并且安装了多个线程相关的异常处理例程,
可交由链起来的其他例程处理.
4.如果这些例程均选择不处理异常,如果程序处于被调试状态,操作系统仍会再次挂起程序通知debugger.
5.如果程序未处于被调试状态或者debugger没有能够处理,并且你调用SetUnhandledExceptionFilter安装了最后异
常处理例程的话,系统转向对它的调用.
6.如果你没有安装最后异常处理例程或者他没有处理这个异常,系统会调用默认的系统处理程序,通常显示一个对话框,
你可以选择关闭或者最后将其附加到调试器上的调试按钮.如果没有调试器能被附加于其上或者调试器也处理不了,系统
就调用ExitProcess终结程序.
7.不过在终结之前,系统仍然对发生异常的线程异常处理句柄来一次展开,这是线程异常处理例程最后清理的机会.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
可以先用工具在程序未启动时在硬盘上查看该程序的代码头部分是否有触发异常的代码.当然,这个你得对硬盘数据在被操作系统调入内存前的存放格式有所了解.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
看不明白,,,等高手
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
看了下,还是想不到办法....望高人明示`
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
要不你把文件发上来吧
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
太大了``发不上来,我放到自己空间了
只是exe
http://www.gdyanli.com/Analyzer.exe
整个安装包
http://www.gdyanli.com/dc.exe
这个软件很麻烦的
每次用Analyzer.exe生成机器码
用Analyzer.dat保存加密后的注册信息
启动时,首先用Analyzer.exe对[机器码]同[注册码]进行匹配,然后再发送到服务器读取权限,然后再获得数据.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
昨天的高手还在吗?!
继续求助...
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
不好意思...问题还没得到解决...
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
跟我的遇到的问题一样啊~~
|
|
|