Android 反编译 代码注入之HelloWorld

本文转自博客园:爱加密――安卓反编译揭秘(爱加密系列教程六),仅供参考、交流使用!!!

为了向经典的"Hello,World"致敬,我们也从一个简单的程序开始HelloWorld.apk。当你把这个APK安装到手机上运行后,在屏幕上就显示一行文字"Hello,World!"。现在我们想要通过注入的方式把”HelloWorld~!”修改为中文的”你好世界”。

27093405-df5ad5bbaaf145e19b566e43679779f

1.反编译

Dos命令提示行输入apktool.batdHelloWorld.apk

这条命令运行完后,在当前目录下会生成一个名为HelloActivity的目录。
该目录的结构为(名称后跟/表示这是一个目录)

HelloWorld/
|--------------AndroidManifest.xml
|--------------apktool.yml
|--------------res/
|--------------smali/

2.代码注入

打开smaili目录找到需要注入的代码,MainActivity.smali。用文本编辑器打开该文件。搜索关键字”HelloWorld”找到代码

27092627-507ff638486e4a4ca8b6bbbad9dfdaa

修改为”你好世界”。(这里我们也可以插入我们的代码,感兴趣的朋友可以学习下smali语法:http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html

27092655-0ecfa2b2022b4398942318f72741451

3.重新打包生成1.APK

保存文件。命令行apktool.batbHelloWorld1.apk生成APK文件。

4.给新生成的apk文件签名

由于我们重新打包的apk文件,签名已经丢失,所以我们要重新签名,应用才能被安装。这里我们用到了jdk/bin/jarsigner.exe。

命令行输入jarsigner-keystoreE:\\keystore\1.keystore-storepass123123-verbose1.apkzs.keystore

说明jarsigner-keystore[签名文件路径]-storepass[密码]-verbose[需要签名文件路径][签名文件别名]

5.删除手机上原有的HelloWorld,重新安装我们修改后的apk文件。

27093446-6302b590dd064647bb855395b645665

更多内容,期待您的探索,请关注爱加密,让您精彩不断!

你可能感兴趣的:(android,helloworld,反编译,代码注入)