4 ms·
I know you probably don’t want an LLM in your decompiler, but assigning meaningful names could be a good task for an LLM.
by brap 1y ago
I know you probably don’t want an LLM in your decompiler, but assigning meaningful names could be a good task for an LLM.
- p0w3n3d 1y agoOne day I was using ghidra to decompile something to find out how it works, and the LLM helped a lot. It was a game changer in refactoring of the decompiled assembly-that-looked-like-c language.
- Hackbraten 1y agoThere’s some prior art on this [0] [1], and it’s worked decently well for me on obfuscated JS. [0]: https://thejunkland.com/blog/using-llms-to-reverse-javascript-minification https://thejunkland.com/blog/using-llms-to-reverse-javascrip... [1]: https://github.com/jehna/humanify/blob/main/README.md#example https://github.com/jehna/humanify/blob/main/README.md#exampl...
- viraptor 1y agoIt's also good as picking up patterns which are common enough, but may not be known to everyone. For example I couldn't tell that some function was doing CRC via a lookup table - but Claude knew.
- BobbyTables2 1y agoOften googling the first few entries of such tables will show CRC implementations. Same for SHA hash constants…
- viraptor 1y agoThe tables depend on the CRC parameters and in my case there would be no Google hits - a unique setup was used.
- cogman10 1y agoThat'd make sense if the jar is obfuscated. Java preserves method and class names by default.