【发布时间】:2013-08-02 12:40:54
【问题描述】:
smali 代码是否有可用的语法规范?我正在尝试使用 smali 代码,而我缺少的一件事是 smali 中的某些方法具有 .prologue 部分,而有些则没有。不幸的是,wiki 似乎没有关于 smali 语法的信息。以前有没有人发现自己处于这种情况?任何建议/解决方案将不胜感激。
EDIT1:我的目标是将日志消息添加到应用程序所有活动的 onResume 方法的开头。
EDIT2:我正在使用 ANTLRv4.1 解析器来解析我的 smali 文件,我从 smaliLexer 获得了一个 CommonTree(解析树)和一个 TokenStream。现在是为日志指令创建令牌并更改解析树,然后生成 classes.dex 文件是正确的方法吗?到目前为止,我还没有找到更改 TokenStream 的方法,并且无法从更改后的 ParseTree 生成 dex 文件。
【问题讨论】:
-
对于实际的指令集,我总是查看以下操作码列表:pallergabor.uw.hu/androidblog/dalvik_opcodes.html 不过,不知道确切的规范。
-
感谢@dst 的评论。是的,我确实查看了操作码。我对 .prologue 部分、.end 方法部分、.locals 部分等 smali 的规范更感兴趣。我在任何地方都找不到规范,因此找不到问题。
标签: android grammar antlr4 smali