我试图深入了解Smali语言。我在网上找到一篇关于操作码的文章,但它从未讨论过这些特殊符号,即L
、;
和[
,例如:
invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
那么,这里的符号是什么意思呢?例如
[Ljava/lang/Object;
和Ljava/lang/String;
。我试图深入了解Smali语言。我在网上找到一篇关于操作码的文章,但它从未讨论过这些特殊符号,即L
、;
和[
,例如:
invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
[Ljava/lang/Object;
和Ljava/lang/String;
。[Ljava.lang.Object;
是从Object#String
返回的字符串,用于Object
数组类,同样适用于String
[
表示数组
L
表示类或接口
;
是类型的结尾
Element Type Encoding
boolean Z
byte B
char C
class or interface Lclassname;
double D
float F
int I
long J
short S
format(Ljava/lang/String;[Ljava/lang/Object;)
。 - daisy