文章标题android软件安全与逆向分析 第二章练习笔记
2016-03-18 17:51
519 查看
.class public LHelloWorld; .super Ljava/lang/Object; .method public static main ([Ljava/lang/String;)V .registers 4 #.parameter .prologue const/16 v0, 0x8 const/4 v1, 0x5 const/4 v2,0x3 move v1, v2 new-array v0, v0, [I array-length v1, v0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V if-nez v0,:cond_0 goto :goto_0 :cond_0 int-to-float v2, v2 add-float v2, v2, v2 cmpl-float v0,v2,v2 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; const-string v1, "Hello world" invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V :goto_0 return-void return-void .end method 以上是第二章练习的完整代码,与书中的代码少了第五行的代码“.paramater”这行代码编译不通过不知道为什么。 编译smali文件命令:java -jar smali.jar -o classes.dex HelloWorld.smali 编译后生成dex文件,打包成zip文件。因为自己不想root手机,就在虚拟机上运行,测试运行代码. adb push HelloWorld.zip /data/local/ adb shell dalvikvm -cp /data/local/HelloWorld.zip HelloWorld 测试成功!
相关文章推荐
- android 开发之 Rx开发技术总结
- Android小技巧——EditText
- ImageLoader 的一些配置
- 【Android问题集】ListView的item的listSelector在第一次时不起作用
- 【转】android布局--Android fill_parent、wrap_content和match_parent的区别
- Android中为什么需要服务?
- android private libraries 添加源码
- Android:RecyclerView详解(ListView,GirdView,瀑布流)
- 【转】在程序中设置android:gravity 和 android:layout_Gravity属性
- [IMX6Q][Android5.1]androidboot.xxx如何转换成ro.boot.xxx
- Android Studio使用技巧:导入第三方类库
- 【转】android gravity属性 和 weight属性
- Android与html5交互 -- JavascriptInterface
- Android:AIDL进程之间的通信
- Android 屏幕适配(二)增强版百分比布局库(percent-support-lib)
- Android开发中Handler的经典总结
- Android 屏幕适配(一)百分比布局库(percent-support-lib) 解析与扩展
- Android加密方式的实现代码MD5-RSA-DES
- 修改Android Studio的代码补全快捷键,解决与输入法快捷键冲突
- 解决Android Graphical Layout 界面效果不显示