2012-08-10 111 views
1

我有一个基于java的产品,在发布之前对其进行了模糊处理,但每种方法都有日志消息。我明白日志消息可能用于追踪代码并使用逆向工程来反转代码,但在发生错误时寻找错误很有用。模糊处理后的日志消息

我的问题是:我应该在混淆后保留日志消息吗?如果不是,有什么其他方式来追踪错误,以防万一发生错误?

回答

2

我建议你改变你的想法。如果您对代码进行混淆,则会阻止偶然的“逆向工程师”了解它。但是,对于那些决心破译代码的人,你可能会产生很小的影响,并且只需使用现场报告来重现一个细微的错误时,就会使自己的工作变得更加困难。

我建议你做一些实验,以评估调试和维护的额外成本(和客户的刺激时,你不能快速解决问题)对知识产权的价值,可能有人会真正到对其进行反向工程,并且如果有人对您的系统的某些部分进行逆向工程,则会产生成本。

+0

+1 - 混淆是主机客户背后的痛处。哪一项对您/您的业务更重要 - 阻止非付费客户使用您的代码或不疏远您的付费客户?提示:当我遇到混淆代码时,我立即开始寻找替代供应商。 – 2012-08-10 04:22:28

+0

@StephenC:很清楚,我想你错过了s.t.通常,我销售我的产品,不包括源代码,并且价格是为此计算的。如果我打算出售包括源代码在内的产品,价格将远高于应有水平。你怎么看待这件事? – Thinhbk 2012-08-10 05:54:59

+0

@Thinhbk - 我通常会开发和使用开源软件,因为我使用的昂贵的闭源产品无法正常工作。我的态度是,如果我为产品付出高昂的代价,它要么非常好,要么免费获得源代码。我不会为寻找和修复代码中的错误的“特权”付出额外的代价。 – 2012-08-10 06:15:01