- What is Lillero?
- 1. An introduction to ASM Patching
- 1.1. Why (not) Mixin?
- 1.2. Why Lillero?
- 1.3. Your Toolbox
- 2. Patching
- 2.1. Bytecode
- 2.1.1. Stack-oriented Programming
- 2.1.2. Examples
- 2.2. Nodes
- 2.2.1. Non-Instruction Nodes
- 2.2.2. Jump Nodes
- 2.2.3. Invoke Dynamic Nodes
- 2.2.4. Integer Nodes
- 2.2.5. Integer Increment Nodes
- 2.2.6. LDC Nodes
- 2.2.7. Lookup Switch Nodes
- 2.2.8. MultiANewArray Nodes
- 2.2.9. Method Nodes
- 2.2.10. Table Switch Nodes
- 2.2.11. Type Nodes
- 2.2.12. Var Nodes
- 2.3. Writing Patches
- 2.3.1. Pattern Matching
- 2.3.2. Proxies
- 2.3.3. Guidelines
- 2.3.4. Mitigating Collisions