Update docs: Index page contains helpful resource links for 'reccomended info' section
<nav>
<ul>
<a href="#intro"><li>Introduction</li></a>
- <a href="#info"><li>Prior knowledge</li></a>
+ <a href="#info"><li>Recommended information</li></a>
<a href="#download"><li>Download</li></a>
<a href="#contact"><li>Contact</li></a>
</ul>
<p>Recaf is an open-source Java bytecode editor based on <a href="http://asm.ow2.io/">Objectweb's ASM</a>. ASM is a library that abstracts away the constant pool and class-file attributes. Since keeping track of the constant pool <i>(and also stackframes. ASM will regenerate those for you)</i> is no longer necessary complex changes can be made with relative ease. With additional features to assist in the process of editing Recaf is the most feature rich free bytecode editor available.</p>
<p>Recaf requires Java 8 to run and the UI is made with JavaFX. Some more advanced features will require running under a JDK <i>(such as attaching to running processes and recompiling code from decompiled classes.)</i></p>
<h1 id="info">Recommended information</h1>
- <p>While ASM makes everything very simple it does not mean you can dive head-first into editing compiled java programs without understanding the following:</p>
+ <p>While ASM makes everything very simple it does not mean you should dive head-first into editing compiled java programs without understanding some basic programming concepts and the Java class file design. Here are some references for these topics:</p>
<ul>
- <li>Basic programming concepts</li>
- <ul>
- <li>Knowing how control-flow <i>(if / while / for)</i> works under-the-hood.</li>
- <li>General feel for how to design a basic program <i>(Intuitive feel for identifying logic in potentially obfuscated files)</i></li>
- </ul>
- <li>Java's class file design</li>
- <ul>
- <li>Specifically the opcodes. I've created a table with detailes on how ASM handles opcodes without the constant pool, <a href="opcodes.html">here</a>.</li>
- </ul>
+ <li>Java class file specification: <a href="https://docs.oracle.com/javase/specs/jvms/se10/html/jvms-4.html">Specification: Chapter 4. The class File Format</a></li>
+ <li>Java opcodes: <a href="opcodes.html">Simplified ASM set</a> | <a href="https://cs.au.dk/~mis/dOvs/jvmspec/ref-Java.html">Standard set</a></li>
+ <li><a href="https://blog.takipi.com/jvm-architecture-101-get-to-know-your-virtual-machine/">JVM Architecture 101: Get to Know Your Virtual Machine</a></li>
</ul>
<h1 id="download">Download</h1>
<p>Downloads are provided on Github's release page, which you can find here: <a href="https://github.com/Col-E/Recaf/releases">Releases</a></p>
<h1 id="contact">Contact</h1>
+ <p>For bug reports / feature suggestions please use <a href="https://github.com/Col-E/Recaf/issues">github's issues</a> page and submit a new issue.</p>
<ul>
<li>Discord: Col-E#6255 or join the <a href="https://discord.gg/Bya5HaA">server</a></li>
</ul>
