HNHacker News
TopNewBestAskShowJobs

barahilia

114 karma · joined January 8, 2017

submissionscomments
barahilia··on Spamspy – Fuzzy Hash Explained and Extended
Thank you.
barahilia··on Impossible Java
Very interesting. Technically this should work in Dalvik opcodes too. But I do not know if there any runtime checks done by VM. I have never seen such technique used in Android.
barahilia··on Impossible Java
As explained in the post, function call is a full expression for which appropriate function should be found. If there 2 functions with the same name and param types it would be impossible to compile such an expression in its own.
barahilia··on Impossible Java
Indeed. The lower level language must be more expressive by the "definition". It is more difficult to write but allows fine grain control. This is the reason some optimization and obfuscation tricks are done in Assembler (native world, not Java). And hence disassembler simply can not re-translate it back.
barahilia··on Impossible Java
In basic blocks (no conditionals or loops), a disassembler mostly does a mechanical job translating opcodes to the appropriate Java code and aggregating expressions. But it doesn't rename functions and or classes. They are left as were in the bytecode.
barahilia··on Impossible Java
Yes. Because of overloading there may be 2 functions with the same name and the same return type but different arguments. So you need to include them too.