我在互联网上找到了几个地方,他们提到使用方法
Throwable.printStackTrace()
你的Android应用程序中的会带来安全风险(这也是糟糕的编码习惯。)我想了解为什么会出现安全风险?攻击者可以使用
提供的信息做些什么e.printStackTrace();
其中e的类型为Exception,例如?
答案 0 :(得分:0)
嗯,作为开发人员,您永远不会希望最终用户了解应用程序后面发生的事情。我现在可以想到以下几点。
堆栈跟踪永远不应对最终用户可见
生成堆栈跟踪是一个相对繁琐的过程
许多日志框架可用于
打印堆栈跟踪不构成错误处理。它应该与其他信息记录和异常结合使用 处理
我使用相同的链接来回答你的问题,因为两者都是相关的!
答案 1 :(得分:0)
攻击者已经可以下载您的APK:
见:https://github.com/Lekensteyn/apk-downloader
并反编译以获取源代码:
见:Is there a way to get the source code from an APK file?
因此,如果安全功能依赖于攻击者不知道您的代码如何工作,那么您的安全性就会很差。
"系统安全性不应取决于实施或其组件的保密性。" - https://en.wikipedia.org/wiki/Security_through_obscurity
隐藏堆栈跟踪不是一种有效的安全措施。