Skip to content

Refactor to use BinRW#41

Draft
prockallsyms wants to merge 16 commits intoPalmr:masterfrom
prockallsyms:master
Draft

Refactor to use BinRW#41
prockallsyms wants to merge 16 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

@Palmr
Copy link
Owner

Palmr commented Mar 6, 2026

The branch has conflicts, any chance you can do a rebase?

@prockallsyms prockallsyms marked this pull request as draft March 6, 2026 16:23
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.

2 participants