The Artima Developer Community
Sponsored Link

Java Buzz Forum
Java class encryption: don't trust it

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic    
Flat View: This topic has 0 replies on 1 page
Vlad Roubtsov

Posts: 20
Nickname: vladr
Registered: May, 2003

Vlad Roubtsov is a Java Q&A columnist for JavaWorld
Java class encryption: don't trust it Posted: Jun 4, 2003 11:10 PM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Vlad Roubtsov.
Original Post: Java class encryption: don't trust it
Feed Title: Java Curiosity Shop
Feed URL: http://www.blog-city.com/bc/
Feed Description: Java esoterics: things from "don't try this at home" category
Latest Java Buzz Posts
Latest Java Buzz Posts by Vlad Roubtsov
Latest Posts From Java Curiosity Shop

Advertisement
The article on breaking lame Java code protection schemes based on class encryption generated quite a bit of reader feedback. A few people understand that once a JVM can see your unencrypted and [very] decompilable bytecode, so can your users. Encrypting .class files on disk accomplishes next to nothing, as it is straighforward to hook into Java classloading and intercept bytecode after the decryption has been done. Others have attempted to defend class encryption by working around the defineClass() exploit in various ways. I believe none of the suggestions is really workable. JavaWorld might publish some of my rebuttals as Letters to the Editor. The one suggestion I liked the most was to move all classloading to a native classloader that makes use of JNI DefineClass() method. This seems to move the encryption/decryption into native code (with a much higher barrier against decompilation). However, JNI DefineClass() delivers the same unencrypted byte array to the JVM when all is set and done. Furthermore, class definitions done by JNI code still generate JVMPI events and so the scheme falls through because it is just as easy to grab .class content via a simple JVMPI_EVENT_CLASS_LOAD_HOOK agent. It is amazing that there commercial kits out there that promise "intellectual property protection" via encryption that cost from $200 to several thousand dollars.

Read: Java class encryption: don't trust it

Topic: ctl+shift+v in IDEA Previous Topic    

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use