Android 反编译(三)java文件 和 .smail文件判断和循环比较
2017-12-18 18:05
483 查看
在.smail文件中 if-ge 标识for循环 , add-int 表示++ , if-ne标识if判断
Java文件 for循环
Smail问 for循环
Java文件 if判断
Smail文件 if判断
Java文件 for循环
private void testFor(int leng){ for (int i = 0; i < leng; i++) { System.out.print("leng的值为:"+i); } for (int i = 0; i < 5; i++) { System.out.print("i的值为:"+i); } }
Smail问 for循环
.method private testFor(I)V .locals 4 .param p1, "leng" # I .prologue .line 25 const/4 v0, 0x0 .local v0, "i":I :goto_0 if-ge v0, p1, :cond_0 .line 26 sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V const-string v3, "leng\u7684\u503c\u4e3a:" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V .line 25 add-int/lit8 v0, v0, 0x1 goto :goto_0 .line 28 :cond_0 const/4 v0, 0x0 :goto_1 const/4 v1, 0x5 if-ge v0, v1, :cond_1 .line 29 sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V const-string v3, "i\u7684\u503c\u4e3a:" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V .line 28 add-int/lit8 v0, v0, 0x1 goto :goto_1 .line 31 :cond_1 return-void .end method
Java文件 if判断
private void testIf(int a){ if (a == 5){ System.out.print("a的值为 5"); }else { System.out.print("a的值为 ? :"+a); } }
Smail文件 if判断
.method private testIf(I)V .locals 3 .param p1, "a" # I .prologue .line 34 const/4 v0, 0x5 if-ne p1, v0, :cond_0 .line 35 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; const-string v1, "a\u7684\u503c\u4e3a 5" invoke-virtual {v0, v1}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V .line 39 :goto_0 return-void .line 37 :cond_0 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V const-string v2, "a\u7684\u503c\u4e3a ? :" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V goto :goto_0 .end method
相关文章推荐
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android apk反编译图解(得到程序的java源代码,图片、XML配置、语言资源等文件)
- Android apk反编译图解(得到程序的java源代码,图片、XML配置、语言资源等文件)
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- 对android应用安装程序apk反编译与分析(二)-jad将class文件转化为java文件
- jsp中的循环翻译成java文件的比较
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译就这么简单 详解(3步搞定Android反编译出Java文件)
- Android APK反编译得到Java源代码和资源文件
- Android 反编译 -smali文件对比java文件
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件
- JAVA入门.零基础学Java语言 MOOC 第二 第三 第四周 比较 判断 分支 循环 —————— 程序控制结构(顺序,分支,循环)
- Android APK反编译得到Java源代码和资源文件
- android、java中判断图片文件的格式
- Android APK反编译得到Java源代码和资源文件
- Android APK反编译得到Java源代码和资源文件