Saturday, November 7, 2009

smali/baksmali v1.0

It's 1.0. Yep, sure is. Go get it here.

Why should you get the new version you ask? Well, it's been spiffified, of course. The new spiffiness includes:

  • The label syntax has changed from "label:" to ":label". This makes the lexer happy. And a happy lexer uses less memory and runs faster. Yay for happy lexers

  • Added a -r/--rewrite-labels option for smali, which will rewrite the smali files you give it, changing any labels in the old format to the new format.

  • deodexerant now opens the odex files as read-only, so you can run deodexerant directly on the odex files in /system, without having to remount, or copy them to /data.

  • You can give baksmali an apk file now, so you don't have to manually extract out the classes.dex file

And one final note: deodexerant will *not* work on 2.0 devices. Once the 2.0 source is released, I should be able to build a new deodexerant binary that will work on 2.0.

Update: There are now also wrapper scripts available for smali/baksmali, so you can call "baksmali ..." instead of "java -jar baksmali.jar ..."

Update 2: Now that the Eclair source is out, I've added a new build of deodexerant to the downloads page that works with 2.0