能力值:
( LV4,RANK:50 )
|
-
-
2 楼
用cl.exe来编译就行了,上网查下,加上/SafeSEH:no编译选项
现在的SafeSEH里面包含了SEHOP,可以绕过的,参考灰帽黑客里面绕过windows内存保护那一章
|
能力值:
( LV9,RANK:610 )
|
-
-
3 楼
VC6本身就不支持SafeSEH编译选项,所以用VC6编译出来的程序都是没有开启SafeSEH的
在VS2003之后才支持该选项,如果要关闭的话,按2楼说的加上/SafeSEH:no编译选项就可以了
这主要是跟编译器有关,从XP SP2开始都支持SafeSEH,所以跟你是不是Win7没有关系
至于SafeSEH和SEHOP具体怎么绕过,也比较复杂,有一些文章可以参考,看你能不能实现了
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
/SafeSEH:no,这个在 vc6++ 破解版里面哪里加上去?
|
能力值:
( LV9,RANK:610 )
|
-
-
5 楼
你都不看的吗?跟你说了vc6根本不支持safeseh,你需要禁用一个本来就不支持的功能吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
........
如果vc6++没有使用 safeseh,那发生异常时为何会转去调用 rtldispatchexception()?
|
能力值:
( LV9,RANK:610 )
|
-
-
7 楼
呵呵,因为Windows所有的应用层异常都是经由ntdll!RtlDispatchException处理的啊……
这跟你用不用SafeSEH根本没关系好吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
楼上,
你的意思是即使使用的是win2000或winxp,在出现异常时也是调用 rtldispatchexception()来处理吗?
|
能力值:
( LV9,RANK:610 )
|
-
-
9 楼
明确告诉你,从Win2000到Win10,都是这个函数,SEH的大框架其实一直没有变过,后来只不过增加了VEH,以及SafeSEH、SEHOP、CFG这些安全机制而已~
如果你想自己研究的话,可以反汇编一下ntdll!KiUserExceptionDispatcher这个函数,这是异常到达用户层的第一站
我的话你可以不信,想反驳我就自己研究拿出证据来。我看不惯的情况有两种:
一是那种视力不太好或者语文不及格,看不清、看不懂别人在说什么的人
二是那种只管问东问西自己没有一点探索和实践精神的人
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
学习了
|
|
|