Skip to content

Comments

Refactor to use BinRW#41

Open
prockallsyms wants to merge 7 commits intoPalmr:masterfrom
prockallsyms:master
Open

Refactor to use BinRW#41
prockallsyms wants to merge 7 commits intoPalmr:masterfrom
prockallsyms:master

Conversation

@prockallsyms
Copy link

@prockallsyms prockallsyms commented Feb 21, 2026

  • Replaces the nom parser with binrw for all class file parsing, adding the ability to patch+write class files
  • Adds some typed attribute variants missed on my last PR, including Java 9+ Module attributes, Java 11+ NestHost/NestMembers, and Java 16+ Record/PermittedSubclasses
  • Adds jar-utils feature for reading, writing, and modifying JAR archives with manifest parsing
  • Adds spring-utils feature for Spring Boot fat JAR/WAR detection, application class enumeration, nested JAR access, and classpath.idx/layers.idx parsing
  • Adds patching API: sync_from_parsed(), sync_counts(), sync_all(), instruction replacement/nop-out helpers, and constant pool addition helpers (add_utf8, add_string, add_class, add_name_and_type, and deduplicating get_or_add_* variants)
  • Adds higher-level navigation helpers on ClassFile (get_utf8, find_method, find_field) and MethodInfo (code(), code_mut(), with_code())
  • Adds TUI JAR explorer example (examples/jar_explorer.rs) with tree view, vim-mode viewer, class file disassembly, and manifest/hex/nested-JAR formatting
  • Removes all nom parser files (src/parser.rs, src/*/parser.rs)
  • Expands test coverage (108 tests total) for new features and parsing logic
  • Adds a decompilation feature

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant