mirror of
https://github.com/revanced/smali.git
synced 2025-05-19 07:27:06 +02:00

It was mis-lexing the case when a class descriptor is immediately followed by a primitive type. The primitive type was being lexed as PARAM_LIST_OR_ID_PRIMITIVE_TYPE instead of PRIMITIVE_TYPE. The root cause was due to an incorrect state change. Since the CLASS_DESCRIPTOR state can be started from within the PARAM_LIST state, but when the CLASS_DESCRIPTOR state ends it just went back to YYINITIAL, instead of going back to PARAM_LIST. This adds a state stack to track these state changes
About
smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation. The syntax is loosely based on Jasmin's/dedexer's syntax, and supports the full functionality of the dex format (annotations, debug info, line info, etc.)
Downloads are at https://bitbucket.org/JesusFreke/smali/downloads/. If you are interested in submitting a patch, feel free to send me a pull request here.
See the wiki for more info/news/release notes/etc.
Support
- github Issue tracker - For any bugs/issues/feature requests
- #smali on freenode - Free free to drop by and ask a question. Don't expect an instant response, but if you hang around someone will respond.
Some useful links for getting started with smali
Description
Languages
Java
52.6%
Smali
45%
GAP
1.6%
Lex
0.4%
Ragel
0.3%