• (爱加密系列教程六)Android代码注入大揭秘


    Android 反编译 代码注入之HelloWorld

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

      

    1.反编译

    Dos命令提示行 输入 apktool.bat d HelloWorld.apk

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

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

    2.代码注入

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

     

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

     

    3.重新打包生成1.APK

    保存文件。命令行 apktool.bat b HelloWorld 1.apk 生成APK文件。

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

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

    命令行输入jarsigner -keystore E:\\keystore\1.keystore -storepass 123123 -verbose 1.apk zs.keystore 

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

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

     

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

    爱加密官方地址:http://www.ijiami.cn/

     

     

     

     

  • 相关阅读:
    字王20年
    [转]Birdfont 2.10 发布,字体编辑器
    vs2013编译boost库
    c++ 完成端口资料
    获取输入法输入内容及后选项的钩子
    unicode string和ansi string的转换函数及获取程序运行路径的代码
    c++实现输入法窗口自定义的代码
    在固定长方形里产生渐变
    监听某个div或其它标签的大小改变来执行相应的处理
    64位SqlServer通过链接服务器与32位oracle通讯
  • 原文地址:https://www.cnblogs.com/ijiami/p/3284209.html
Copyright © 2020-2023  润新知