Cbise 发表于 2015-12-17 16:07

这种情况是用什么程序加密的

本帖最后由 Cbise 于 2015-12-17 16:49 编辑

.net 反编译后程序所有的代码都显示:throw new ApplicationException()
有知道这是用什么工具加密的吗,谢谢!
可能我说得不太清楚,现附上图片


无敌暴龙战士 发表于 2015-12-17 16:31

又看了番茄的引用,有了新的理解:

(1)ApplicationException 由用户程序抛出,也就是说要在代码中编写
   throw ApplicationException。
   这个类是为了区别CLR抛出的异常而设计的,
   所以根据这一原则,我们定义自己的异常类的时候要从ApplicationException继承。

(2)SystemException 由CLR抛出,例如数组越界,类型转换错误等,都会被此异常捕捉,
   因为InvalidCastException、InvalidOperationException等异常都是继承于
   SystemException的。

所以程序中按照以下这样写就可以了----
                            try
{
                                    ......
}
catch (ApplicationException appEx)
{
MessageBox.Show(appEx.Message);
}
catch (SystemException sysEx)
{
MessageBox.Show(sysEx.Message);
}

无敌暴龙战士 发表于 2015-12-17 16:33

.Net内部代码的实现类似于:
class ApplicationException : Exception
{
    public ApplicationException() : base() {}

    public ApplicationException(string message) : base(message) {}

    public ApplicationException(string message, Exception innerException
) : base(message, innerException) {}

    protected ApplicationException(SerializationInfo info, StreamingContext context) : base(info, context) {}

}

Cbise 发表于 2015-12-17 18:20

904040484 发表于 2015-12-17 16:33
.Net内部代码的实现类似于:
class ApplicationException : Exception
{


可能是我没说清楚问题,现补充了
页: [1]
查看完整版本: 这种情况是用什么程序加密的