| <!doctype html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <html> |
| <head> |
| <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> |
| <meta http-equiv="content-style-type" content="text/css"> |
| <link rel="stylesheet" type="text/css" href="../style.css"> |
| <title>ReTrace Introduction</title> |
| </head> |
| <body> |
| |
| <h2>Introduction</h2> |
| |
| <b>ReTrace</b> is a companion tool for <b>ProGuard</b> that 'de-obfuscates' |
| stack traces. |
| <p> |
| When an obfuscated program throws an exception, the resulting stack trace |
| typically isn't very informative. Class names and method names have been |
| replaced by short meaningless strings. Source file names and line numbers are |
| missing altogether. While this may be intentional, it can also be inconvenient |
| when debugging problems. |
| <p> |
| |
| <table class="diagram" align="center"> |
| |
| <tr> |
| <td rowspan="1" class="lightblock">Original code</td> |
| <td class="transparentblock">- <b>ProGuard</b> →</td> |
| <td rowspan="1" class="lightblock">Obfuscated code</td> |
| </tr> |
| |
| <tr> |
| <td rowspan="3" class="transparentblock"></td> |
| <td class="transparentblock">↓</td> |
| <td class="transparentblock">↓</td> |
| </tr> |
| |
| <tr> |
| <td class="whiteblock">Mapping file</td> |
| <td class="transparentblock">↓</td> |
| </tr> |
| |
| <tr> |
| <td class="transparentblock">↓</td> |
| <td class="transparentblock">↓</td> |
| </tr> |
| |
| <tr> |
| <td class="whiteblock">Readable stack trace</td> |
| <td class="transparentblock">← <b>ReTrace</b> -</td> |
| <td class="whiteblock">Obfuscated stack trace</td> |
| </tr> |
| |
| </table> |
| <p> |
| ReTrace can read an obfuscated stack trace and restore it to what it would |
| look like without obfuscation. The restoration is based on the mapping file |
| that ProGuard can write out during obfuscation. The mapping file links the |
| original class names and class member names to their obfuscated names. |
| <p> |
| |
| <hr> |
| <address> |
| Copyright © 2002-2009 |
| <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>. |
| </address> |
| </body> |
| </html> |
| |