Decompiling Java and over one million other books are available for Amazon Kindle. Learn more

Have one to sell? Sell yours here
Decompiling Java (Java Masters)
 
 
Start reading Decompiling Java on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Decompiling Java (Java Masters) [Import] [Paperback]

Godfrey Nolan (Author)
3.7 out of 5 stars  See all reviews (10 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Kindle Edition $25.19  
Hardcover $27.99  
Paperback, Import --  


Product Details

  • Paperback: 358 pages
  • Publisher: McGraw-Hill Education; Pap/Cdr edition (November 1998)
  • Language: English
  • ISBN-10: 0079137679
  • ISBN-13: 978-0079137678
  • Shipping Weight: 1.1 pounds
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #10,778,081 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

10 Reviews
5 star:
 (5)
4 star:
 (1)
3 star:
 (1)
2 star:
 (2)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
3.7 out of 5 stars (10 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

11 of 11 people found the following review helpful:
3.0 out of 5 stars Weak on decompiler implementation, January 12, 2006
This review is from: Decompiling Java (Hardcover)
What I hoped to learn from the book was an understanding of modern Java decompilation techniques. With respect to this expectation, Nolan's book is a disappointment.

His implementation, though simple, will decompile only the most simple of byte code. Nolan points out that it is difficult to recover all legal control structures offered by Java, but is not so clear about the fact that this will never be possible with his approach (i.e. using syntactical analysis).

A stable decompiler which is able to produce clean code must do some control flow and structural analysis. The book gives no account here.

Regarding the other topics of the book such as obfuscation, legal issues, tool selection and case studies, there are more concise and cheaper books. Simply refer to Amazon's "Customers who bought this book also bought ...".
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


13 of 16 people found the following review helpful:
5.0 out of 5 stars Fully compile down to assembler binary, September 18, 2004
This review is from: Decompiling Java (Hardcover)
Decompilers are something of a black box to most programmers. Not unlike compilers. Actually Nolan shows us that the 2 are very similar in their lexical methods.

In the specific case of Java, this book may well cause unease in the reader, if you program in Java and are worried about protecting your source code. After all, it probably has proprietary methods that are not covered by any patents you might have. While you can copyright the source, Nolan points out that this may not stop someone from decompiling and reimplementing your "secret" methods.

The book shows that the big problem with Java bytecode is that decompilers for it have a far easier time than decompilers for actual assembly code, whatever the specific hardware for the latter. The basic reason is that the bytecode retains extra information that a decompiler can use, whereas assembly does not have this. Like the fact that the bytecode separates data from instructions. A vital simplification to a decompiler.

Nolan shows countermeasures. At the source code level, there are several good obfuscation techniques, described well enough for you to try. And these may be better than buying a commercial decompiler.

Also, Nolan suggests fully compiling your Java into specific assembly binaries. One for each combination of microprocessor and operating system that you need to support. More work. But it makes a decompilation far harder. Besides, these days, you may only have to support a few combinations. The hardware may be a Pentium or a Sparc or an IBM cpu. If a Pentium, then you might only support a recent linux or Microsoft OS on top of it. If a Sparc, then you need only support a recent Solaris. While for an IBM cpu, the only choice is AIX or Apple's OS.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 11 people found the following review helpful:
5.0 out of 5 stars Deep focus, August 5, 2004
By 
Robert P. Inverarity (Silicon Valley, California, United States) - See all my reviews
(VINE VOICE)   
This review is from: Decompiling Java (Hardcover)
If you're looking at a book on this topic, you may know something about the subject already. You even may have used one of the various decompilers available on the web, perhaps been shocked at the accuracy of the results, and were left wondering a) how it worked and b) how to stop it. You get coherent, comprehensive answers to both. There are three kinds of books about computer security: those that detail the exploitation of weaknesses, those that detail how to fix them, and those that do both. Decompiling Java manages to fall in that last category, so far as its possible for inherently insecure Java code.

Over the course of seven long chapters, Nolan discusses in depth the history of decompilation and reverse engineering (both the legal and illegal kinds), the construction of the Java Virtual Machine, the layout of Java classfile, the various types of obfuscation and code protection techniques (including the creation of a simple obfuscator), and, most importantly and uniquely, the design and implementation of an original decompiler. The book ends with a briefer discussion of a number of case studies.

There's always a danger that hardcore computer books will be deadly dull; thankfully, that's not the case here. The style is light and often amusing. The most difficult chapter is the one detailing the implementation of the decompiler -- it's an especially information-dense chapter that I had to take a few pages at a time. On the other hand, the chapter does show bit-by-bit the construction of a working decompiler, so I suppose it was worthwhile.

If you're interested in writing your own decompiler or in looking at the techniques the existing ones use, this is the book for you. Similarly, if you're interested in developing your own obfuscation solution or selecting in an educated way between the commercial obfuscators and code protection schemes out there, this book discusses them in greater depth than any other resource. Finally, if you're just a low-level software geek like me, you'll find plenty of interesting concepts and ideas to chew over.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews








Only search this product's reviews



Inside This Book (learn more)
Browse and search another edition of this book.
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
protecting your source, code attribute, attribute value index, decompiler code, constant pool index, simple stack machine, decompiled code, decompilation process, dummy method, trusted browser, hexadecimal editor, obfuscated code, access flags, method being invoked, compilation flags, public void paint, parser code, current line number, inner classes, user routines, public static void, operand stack
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Decompiler Implementation, Attribute Count, Visual Basic, Hello World, Java Virtual Machine, Java Verifier, Opcode Hex Value Opcode Mnemonic, Opcode Mapping, Attribute Type, Decompiler Design, Decompiler Results, Tools of the Trade, Hanpeter Van Vliet, Initiative Consulting, Max Stack, Machine Table, Method String, Christian Collberg, Case Study, Field Count, Variable Swapping, Lyle Ramshaw, Pavel Kouznetsov, Daniel Ford
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:



Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
 
(23)
(17)
(7)
(3)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   



So You'd Like to...



Look for Similar Items by Category


Look for Similar Items by Subject