每当一个未处理的异常以某种方式投入生产时——不管是什么原因——通常都有一个选项(尤其是 .NET 程序)在程序完全结束之前向最终用户打印堆栈跟踪。尽管这有助于调试程序,但如果用户在错误报告中发送堆栈跟踪的副本,这绝对是一个安全问题。您不希望他们能够像那样看到您的代码 - 除非他们经历了很多额外的麻烦。
但是,如果堆栈跟踪的文本在打印到屏幕之前被加密了怎么办?这会是安全的、可行的等吗?或者它仍然是特别值得避免的事情?
笔记
我知道反编译和产生的问题。虽然有混淆器,尽管它们几乎不是完美的,但它们总比没有保护要好。有人说锁是给诚实的人的,但每个人仍然使用它们。