Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering
 
See larger image
 

Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering [Paperback]

Alex Kalinovsky
4.0 out of 5 stars  See all reviews (2 customer reviews)
List Price: CDN$ 32.99
Price: CDN$ 23.83 & eligible for FREE Super Saver Shipping on orders over CDN$ 25. Details
You Save: CDN$ 9.16 (28%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Temporarily out of stock.
Order now and we'll deliver when available. We'll e-mail you with an estimated delivery date as soon as we have more information. Your account will only be charged when we ship the item.
Ships from and sold by Amazon.ca. Gift-wrap available.

Product Details


Product Description

Product Description

As a Java developer, you may find yourself in a situation where you have to maintain someone else's code or use a third-party's library for your own application without documentation of the original source code. Rather than spend hours feeling like you want to bang your head against the wall, turn to Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering. These techniques will show you how to better understand and work with third-party applications. Each chapter focuses on a technique to solve a specific problem, such as obfuscation in code or scalability vulnerabilities, outlining the issue and demonstrating possible solutions. Summaries at the end of each chapter will help you double check that you understood the crucial points of each lesson. You will also be able to download all code examples and sample applications for future reference from the publisher's website. Let Covert Java help you crack open mysterious codes!

From the Back Cover

As a Java developer, you may find yourself in a situation where you have to maintain someone else's code or use a third-party's library for your own application without documentation of the original source code. Rather than spend hours feeling like you want to bang your head against the wall, turn to Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering. These techniques will show you how to better understand and work with third-party applications. Each chapter focuses on a technique to solve a specific problem, such as obfuscation in code or scalability vulnerabilities, outlining the issue and demonstrating possible solutions. Summaries at the end of each chapter will help you double check that you understood the crucial points of each lesson. You will also be able to download all code examples and sample applications for future reference from the publisher's website. Let Covert Java help you crack open mysterious codes!


Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

 

Customer Reviews

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

5.0 out of 5 stars Learn what the hackers know, so that you can fight them, July 8 2004
By 
Charles Ashbacher (Marion, Iowa United States) - See all my reviews
(TOP 1000 REVIEWER)   
This review is from: Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering (Paperback)
I know that I am reading a high quality computer book when I absolutely have to stop and try the code examples. When I have to download a tool in order to execute the code, then it truly is a book to behold. That happened with this book. As I began reading chapter 2 on decompiling Java bytecode, I immediately went online and downloaded some of the tools. It was a fascinating and also disturbing experience. Java bytecode is of course not in a machine-specific executable form, so it is relatively easy to reconstruct the original source code. From this point on, examples of decompiling Java bytecode will be part of my class on computer security.
The topic of chapter 3 is obfuscating classes, something that I already cover in my security class. However, I derived several new ideas for examples from this section. Chapter 4, "Hacking Non-public Methods and Variables of a Class" was one I found fascinating, although somewhat obvious in retrospect. For years, I have used an example of accessing the private components of a C++ object in my classes, and now I will be dong something similar in my Java classes.
Chapter 7, "Manipulating Java Security", which demonstrated how easy it is to bypass security checks, was fascinating, another demonstration of the level of vigilance needed to keep our computers safe from the malicious entities. The remaining chapters are:

* Chapter 5 Replacing and patching application classes.
* Chapter 6 Using effective tracing.
* Chapter 8 Snooping the runtime environment.
* Chapter 9 Cracking code with unorthodox debuggers.
* Chapter 10 Using profilers for application runtime analysis.
* Chapter 11 Load-testing to find and fix scalability problems.
* Chapter 12 Reverse engineering applications.
* Chapter 13 Eavesdropping techniques.
* Chapter 14 Controlling class loading.
* Chapter 15 Replacing and patching application classes.
* Chapter 16 Intercepting control flow.
* Chapter 17 Understanding and tweaking bytecode.
* Chapter 18 Total control with native code patching.
* Chapter 19 Protecting commercial applications from hacking.

There is no doubt that there is enough knowledge in this book to allow you to hack Java applications. Therefore, there will be those who consider it dangerous. My opinion is that someone with the hacker mentality will find the knowledge and use it. To criticize a book because it concentrates the knowledge misses the point of how hackers should be battled. To defeat hackers you must learn how to hack code and perform due diligence by making all the changes that will make it hard to do.
I learned a great deal from this book. Some of it was general, in that I had not realized how unsecure Java bytecode is. Most of my new knowledge was specific; I learned many different things that can be done to fix bad code, whether the problems are in code failure or in lack of security.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3.0 out of 5 stars Nothing new for an experienced developer, May 25 2004
By A Customer
This review is from: Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering (Paperback)
May be my expectations were too high but I was kind of disappointed by this book.
I was hoping to find things like getting a thread dump programmatically and more useful examples.
I think that this book is for beginners to intermediate level not for advanced level developers.
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 Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 3.8 out of 5 stars (6 customer reviews)

15 of 19 people found the following review helpful
5.0 out of 5 stars Learn what the hackers know, so that you can fight them, July 7 2004
By Charles Ashbacher - Published on Amazon.com
This review is from: Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering (Paperback)
I know that I am reading a high quality computer book when I absolutely have to stop and try the code examples. When I have to download a tool in order to execute the code, then it truly is a book to behold. That happened with this book. As I began reading chapter 2 on decompiling Java bytecode, I immediately went online and downloaded some of the tools. It was a fascinating and also disturbing experience. Java bytecode is of course not in a machine-specific executable form, so it is relatively easy to reconstruct the original source code. From this point on, examples of decompiling Java bytecode will be part of my class on computer security.
The topic of chapter 3 is obfuscating classes, something that I already cover in my security class. However, I derived several new ideas for examples from this section. Chapter 4, "Hacking Non-public Methods and Variables of a Class" was one I found fascinating, although somewhat obvious in retrospect. For years, I have used an example of accessing the private components of a C++ object in my classes, and now I will be dong something similar in my Java classes.
Chapter 7, "Manipulating Java Security", which demonstrated how easy it is to bypass security checks, was fascinating, another demonstration of the level of vigilance needed to keep our computers safe from the malicious entities. The remaining chapters are:

* Chapter 5 Replacing and patching application classes.
* Chapter 6 Using effective tracing.
* Chapter 8 Snooping the runtime environment.
* Chapter 9 Cracking code with unorthodox debuggers.
* Chapter 10 Using profilers for application runtime analysis.
* Chapter 11 Load-testing to find and fix scalability problems.
* Chapter 12 Reverse engineering applications.
* Chapter 13 Eavesdropping techniques.
* Chapter 14 Controlling class loading.
* Chapter 15 Replacing and patching application classes.
* Chapter 16 Intercepting control flow.
* Chapter 17 Understanding and tweaking bytecode.
* Chapter 18 Total control with native code patching.
* Chapter 19 Protecting commercial applications from hacking.

There is no doubt that there is enough knowledge in this book to allow you to hack Java applications. Therefore, there will be those who consider it dangerous. My opinion is that someone with the hacker mentality will find the knowledge and use it. To criticize a book because it concentrates the knowledge misses the point of how hackers should be battled. To defeat hackers you must learn how to hack code and perform due diligence by making all the changes that will make it hard to do.
I learned a great deal from this book. Some of it was general, in that I had not realized how unsecure Java bytecode is. Most of my new knowledge was specific; I learned many different things that can be done to fix bad code, whether the problems are in code failure or in lack of security.


1 of 2 people found the following review helpful
4.0 out of 5 stars Esoteric Java island, Dec 8 2009
By Darko M. - Published on Amazon.com
This review is from: Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering (Paperback)
Main theme is explanation of many powerful and for some reason not well known techniques in Java. Statement holds even after almost six years since book's publication. These are some highlights:
1. For warming-up: it's quite simple to access non-public methods and variables of class
2. Replacing and patching dependent libraries: sometimes there is no way out but to replace a class in library you don't control. Usually this class will be in jar without source. Process is pretty straightforward if not trivial: first decompile class(es), then find problematic code, patch it in your class with the same name, and then assure it will be called before original class (which need not be removed), and if recommended, new class and original class (with jar) should have same classloader. Example from my experience: patching class from JSF library.
3. Why to write custom classloader? To enable hot deployment, to load classes out of classpath (network, database, some special location in file system), and most advanced, to bytecode augment existing classes.
4. Bytecode manipulation: it's surprising how much can be done with this tecnique. Even if java bytecode is not exactly readable, it is structured according to Sun specifications and there are some Java libraries (BCEL, Javassist ..) that make bytecode tweaking more high-level, so essentially becomes just Java programming against BCEL (Javassist) API. Heavily used in Spring project and in AOP implementations.
5. Focus on (production) runtime: profiling and load testing - this is usually not top priority for Java programmers, so many times this is no one's top priority, with bad consequences.
To sum up: great book for seasoned developers.

2 of 4 people found the following review helpful
1.0 out of 5 stars Waste of money, Sep 10 2006
By gail "gsssss" - Published on Amazon.com
This review is from: Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering (Paperback)
Very little useful information that can't be found through free resources on the web or your own investigations. The book jumps from topic to topic providing only a cursory look at basic investigitory techniques. I'm amazed it got published at all given the rather sophomoric approach to a difficult subject. I was expecting detailed strategy and tactics for decompiling java classes and instead ended up with what reads like someone's blog of ideas or musings on the subject. Not very professional.
 Go to Amazon.com to see all 6 reviews  3.8 out of 5 stars 
 
 
Only search this product's reviews



Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges