Skip to content
Paperback Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering Book

ISBN: 0672326388

ISBN13: 9780672326387

Covert Java: Techniques for Decompiling, Patching, and Reverse Engineering

Shows the reader how to decompile, patch, and reverse-engineer applications without source code - saving time and overcoming challenges. This description may be from another edition of this product.

Recommended

Format: Paperback

Condition: Good

$5.49
Save $24.50!
List Price $29.99
Almost Gone, Only 1 Left!

Customer Reviews

4 ratings

Esoteric Java island

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.

The essence of real-world java techniques

If you are looking for java fundamentals, this is a wrong book. However, if you want to broaden your horizons on various practical techniques of working with java, this is an excellent source. The information in the book is offered in a condensed form with good amount of real-world examples and recomendations/comparisons of various tools. I enjoyed reading this book and I recommend it to everyone who wants to jump start their practical knowledge of things listed in the book's title.

Excellent service

Book was on time and in excellent (new) condition. 5 big fat stars!

Learn what the hackers know, so that you can fight them

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.
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured