JesusFreke / smali

smali/baksmali
6.34k stars 1.07k forks source link

Exception in case of overlapping instructions #179

Closed JesusFreke closed 9 years ago

JesusFreke commented 9 years ago

Original issue 134 created by JesusFreke on 2012-07-26T19:22:03.000Z:

What seems to be the problem? baksmali raises a java.lang.RuntimeException if an instruction overlaps the end of a try block.

What is the exact smali/baksmali command that you ran? java -jar baksmali-1.3.3.jar -o output classes.dex

What version of smali/baksmali are you using? What rom are you working from?

What is the airspeed velocity of an unladen swallow? roughly 11 meters per second

Please provide any additional information below: error messages, symptoms, etc. Such an overlapping is not usual for normal applications but can occur in case of bytecode obfuscation.

Error occured while disassembling class Lorg.dexlabs.poc.dexdropper.R$drawable; - skipping class java.lang.RuntimeException: Invalid code offset 10 for the try block end address at org.jf.baksmali.Adaptors.MethodDefinition.addTries(MethodDefinition.java:478) at org.jf.baksmali.Adaptors.MethodDefinition.writeTo(MethodDefinition.java:132) at org.jf.baksmali.Adaptors.ClassDefinition.writeMethods(ClassDefinition.java:338) at org.jf.baksmali.Adaptors.ClassDefinition.writeTo(ClassDefinition.java:116) at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:205) at org.jf.baksmali.main.main(main.java:297)

original apk: http://www.dexlabs.org/files/crackme-obfuscator.apk If you need more infos about this, i can provide a writeup about this obfuscation technique

JesusFreke commented 9 years ago

Comment #1 originally posted by JesusFreke on 2012-07-26T20:45:41.000Z:

Thanks for reporting this.

Just to confirm, dalvik is able to load/run such a dex file? (I assume so, it would be a pretty poor obfuscation technique otherwise!)

JesusFreke commented 9 years ago

Comment #2 originally posted by JesusFreke on 2012-07-26T20:47:58.000Z:

Yes, you can run it on phones as well as emulators.

JesusFreke commented 9 years ago

Comment #3 originally posted by JesusFreke on 2013-02-14T23:46:39.000Z:

Forgot to mark this as fixed when I fixed it :)