Comments (3)
Unfortunately, this is a limitation of the Java language that is not shared by bytecode, so in general, it is not possible to make the decompiled source follow this.
from krakatau.
Yes but it make the produced sources incompilable. If the decompiler checks whether there is a possible unhandled throwable, it would be very helpful.
I don't know how your decompiler works but I think If there would be a (not too difficult) way to implement that, you should think about that. If you don't have enough information to decide it yet, I understand that you don't want to parse the sources or bytecode again only to get this information.
(My english is not very well and I hope you can read it without problems. The comment should not attack you. I just wanted to say my opinion. If you as a developer have a different opinion, I accept it also.)
from krakatau.
No decompiler in existence will always produce recompileable code, even for unobfuscated Java. That being said, Procyon tends to do a pretty good job if that's your goal.
The primary goal of Krakatau is to assist reverse engineering of obfuscated Java, so recompilation is not a major concern.
from krakatau.
Related Issues (20)
- illegal class/method/package names or modifiers HOT 2
- Interest in Krakatau 2? HOT 85
- bytecode peephole optimization non-looping-loops HOT 6
- Krakatau does not generate local variables info HOT 5
- Missing undocumented opcodes. HOT 3
- Cannot reassemble HOT 4
- is there any grammar book/doc for krak2? HOT 2
- When executing the command, an error "krak2 dis --out temp" HOT 2
- Fields without access flags have an extra space in the disassembly result.
- v2 seems not to have an option to assemble multiple classes into a single .jar HOT 7
- RuntimeError: maximum recursion depth exceeded while calling a Python object HOT 1
- crash with useless trycatches HOT 3
- Assemble .j files in Directory HOT 3
- 'rU' mode generate a backtrace in python 3.11+ HOT 3
- Issue with building "cargo build --release" HOT 2
- Decompiler computes incorrect local liveness. HOT 5
- make --out optional in v2 HOT 1
- support * glob pattern in v2 HOT 4
- (Removed)
- Krakatau v2 skips non referenced constant pool entries when assembling HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from krakatau.