do you lock your front door at night? youre probably aware that a locked front door wont stop an accomplished thief for more than a few seconds. add another lock and you slow him down another minute or two. truth is, no matter how well you lock your doors, a determined thief is going to get in. so why do you lock your doors at all? the answer is (i think) that youve accepted the fact that a determined thief can get in--but the harder you can make it for him, the better. in fact, if its enough of a pain, he may just go elsewhere. in addition, by locking your door you keep out the other 99 percent of the human race. from amateur thieves all the way down to your nosy aunt edna, every lock you add increases the time it takes for an unwanted guest to get in. for a thief that may just be a few more seconds; for aunt edna, its probably billions of years. regardless--door locks arent about perfect protection, theyre about raising the bar to entry.
obfuscation works to transform programs in such a way as to not affect what the program does, while at the same time impeding reverse engineering efforts. in a nutshell, obfuscating transforms have a goal of destroying relationships that exist between the compiled and source-code versions of the code. although initially the idea of actually making program code harder to understand seemed counterintuitive, it is now seen as a valuable component in computer security. 【程序编程相关:Jar clone的版本冲突】
protecting software from reverse engineering works the same way. java is wonderfully easy to effectively reverse engineer. (see the references section at the end of this article for tools that will let you do so literally at the click of a button.) you can decompile the code, crack the license, change the copyright to your name, or simply check out how the application hits the database. reverse engineering based on compiled code is possible, but reverse engineering based on source is simply cake. the good news is that you can make the process harder--in fact, much harder. protecting java code raises the bar--it proverbially "adds a few locks on the door." if your code is worth protecting, theres no reason not to make the thiefs job harder. 【推荐阅读:谨慎使用Date和Time类】
the goals of software protection... 下一页