Book 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!
Table of contents
- Copyright
- About the Author
- Acknowledgments
- We Want to Hear from You!
- Introduction
- 1. Getting Started
- 2. Decompiling Classes
-
3. Obfuscating Classes
- Protecting the Ideas Behind Your Code
- Obfuscation As a Protection of Intellectual Property
- Transformations Performed by Obfuscators
- Knowing the Best Obfuscators
- Potential Problems and Common Solutions
- Using Zelix KlassMaster to Obfuscate a Chat Application
- Cracking Obfuscated Code
- Quick Quiz
- In Brief
- 4. Hacking Non-Public Methods and Variables of a Class
- 5. Replacing and Patching Application Classes
- 6. Using Effective Tracing
- 7. Manipulating Java Security
- 8. Snooping the Runtime Environment
- 9. Cracking Code with Unorthodox Debuggers
-
10. Using Profilers for Application Runtime Analysis
- Why and When You Should Use Profiling
- The Best Profilers for Java
- Investigating Heap Usage and Garbage Collection Frequency to Improve the Performance
- Browsing Object Allocation and References to Find and Fix Memory Leaks
- Investigating Thread Allocation and Synchronization
- Identifying Expensive Methods to Improve Performance
- Investigating an Application at Runtime Using a Thread Dump
- Quick Quiz
- In Brief
- 11. Load-Testing to Find and Fix Scalability Problems
- 12. Reverse Engineering Applications
- 13. Eavesdropping Techniques
- 14. Controlling Class Loading
- 15. Replacing and Patching Core Java Classes
- 16. Intercepting Control Flow
- 17. Understanding and Tweaking Bytecode
- 18. Total Control with Native Code Patching
-
19. Protecting Commercial Applications from Hacking
- Setting Goals for Application Protection
- Securing Data with Java Cryptography Architecture
- Protecting Application Distribution from Hacking
- Implementing Licensing to Unlock Application Features
- Quick Quiz
- In Brief
- A. Commercial Software License
- B. Resources
- C. Quiz Answers
Product information
- Title: Covert Java™: Techniques for Decompiling, Patching, and Reverse Engineering
- Author(s):
- Release date: May 2004
- Publisher(s): Sams
- ISBN: None
You might also like
book
Linux® Bible, 2008 Edition: Boot Up to Ubuntu®, Fedora®, KNOPPIX, Debian®, openSUSE®, and 11 Other Distributions
Great Content from a Bestselling Author: The Linux Bible 2008 Edition is the best first Linux …
article
Use GitHub Copilot: Additional Tips
Using GitHub Copilot can feel like magic. The tool automatically fills out entire blocks of code--but …
article
Use Github Copilot for Prompt Engineering
Using GitHub Copilot can feel like magic. The tool automatically fills out entire blocks of code--but …
book
Component Development for the Java™ Platform
Java™ is an object-oriented language, but it is also a component-oriented platform. Java's class-loading model and …