应用截图
左右滑动查看更多应用介绍
官方资料,一手掌握smali语法查询是一款面向安卓平台的语法查询工具,汇集了smali语言中常见的语法规则与句式写法。使用时可以直接检索所需的语句并复制调用,也可以借助它梳理和复习smali相关知识,适合需要经常接触smali代码、希望随时查阅语法的使用者。
工具定位
作为一款语法查询工具,它的主要作用是把分散的smali语法集中到一处,方便随时查找对照。对于初学smali或需要反复确认写法的人而言,能够减少翻查资料的时间。
smali类型与Java类型对照
软件整理了smali中表示数据类型的字符,以及它们对应的Java类型,其中64位类型在寄存器占用上有额外说明。
| smali类型 | Java类型 | 说明 |
|---|---|---|
| V | void | 无返回值 |
| Z | boolean | 布尔型 |
| B | byte | 字节型 |
| S | short | 短整型 |
| C | char | 字符型 |
| I | int | 整型 |
| J | long | 64位,需要2个寄存器存储 |
| F | float | 单精度浮点型 |
| D | double | 64位,需要2个寄存器存储 |
常用指令与结构说明
除了类型对照,软件还收录了方法与寄存器相关的常见写法,便于理解代码结构。
1、.method 与 .end method 的作用类似Java中的大括号,用于界定一个方法。
2、.locals 指定方法中非参寄存器的总数,出现在方法第一行。
3、.registers 指定方法中寄存器的总数。
4、.prologue 表示代码开始。
5、.line 表示Java源码行号,用于调试。
6、invoke-static 调用static方法或函数;invoke-super 调用父类方法;invoke-direct 调用private方法;invoke-virtual 调用protected或public方法。
7、return-void 表示方法结束并返回void。
8、move-result 用于获取方法返回的基本数据类型,move-result-object 用于获取方法返回的对象。
寄存器与参数标记
在阅读方法体时,p 与 v 开头的标记分别对应不同的含义。p0 在静态方法中表示当前对象实例,p1 表示当前onCreate方法的参数;v0 则表示本地(局部)变量,存放在locals寄存器中。理解这些标记,有助于判断方法中数据的来源和存放位置。
关于代码混淆
代码混淆是将程序的代码转换成一种功能上等价、但难以阅读和理解的形式。常见做法是把变量、函数、类的名字改写成无意义的名称,使阅读者无法根据名字推测其用途,从而增加反编译后的阅读难度。
整体来看,smali语法查询围绕类型对照、指令含义和寄存器标记组织内容,适合在编写或阅读smali代码时作为手边的查阅工具,也便于初学者对基础语法形成系统印象。
- 应用大小:709.22KBB
- 应用版本:v1.0.19
- 系统要求:安卓
- 更新时间:2026-09-26
- 语言:简体中文
- 权限说明:查看详情
- 隐私说明:查看隐私