程序加壳后,异常处理无法被捕捉,导致的崩溃问题

最近在测试一个项目是无意中发现了个加壳后的问题,这里记录下。

问题描述:

        程序经过加壳(VMP)后,运行过程中在加过异常处理保护(try)的函数内出现了异常后,程序在捕捉到异常后不会去执行except内的代码,然后直接出现崩溃(闪退)的情况。except的处理方式是EXCEPTION_EXECUTE_HANDLER

解决方案:

       如果选择使用了SAFESEH加壳工具可能无法解析出正确的SEH结构,导致无法找到异常处理例程,因此导致了程序的崩溃。所以这里编译配置选择“否”即可。

PS.

     SAFESEH的配置不同,编译后的SEH结构会有差异,具体详情可以搜索SAFESEH相关知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值