在AndroidStudio创建so一节里创建了so,并且在java里面调用so的HelloWorld方法,编译Android Studio后生成包app-debug.apk。

在逆向apk时如果该apk引用了so的话,直接用Android Killer肯定没法直接得到so里的代码,我们需要先把apk文件解包,再读取so中的代码。下面介绍用apktool解apk包。

一 工具准备

  1 下载apktool,apktool下载地址:https://ibotpeaches.github.io/Apktool/。我下载的是2.3.4版本,把下载的apktool_2.3.4.jar文件改名为apktool.jar

  2 新建文本文件重命名文件为apktool.bat,编辑输入以下内容:    

    @echo off
    if "%PATH_BASE%" == "" set PATH_BASE=%PATH%

    set PATH=%CD%;%PATH_BASE%;

    java -jar -Duser.language=en "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9

  3 把apktool.jar和apktool.bat都放到同一个文件夹下,我放在了E:\Android\apktool目录。

  4 打开命令行,来到apktool所在目录,然后输入apktool,成功会显示apktool的版本信息和帮助信息,如图:   (报错Unable to access jarfile...的话看看apktool_2.3.4.jar文件改名为apktool.jar没有)

  

二 解包apk

  1 cd进入apktool所在目录,用apktool d命令解包apk,解包完成会在apktool目录生成跟apk同名的文件夹。

    

  2 解包成功后可以在apktool目录看到app-debug文件夹,打开app-debug\lib目录,里面有不同平台的文件夹,里面有各个平台的so。再用工具去破解修改so就可以了(下一节破解so)。

三 重打包apk

  so修改完成后,我们需要重新打包apk让我们的修改生效。重打包用apktool b命令,可以用-o重命名apk。

  1 cd来到apktool目录,使用apktool b app-debug -o app-debug.apk命令重打包apk,成功后看到在app-debug文件夹同级目录生成了同名的apk    

    如果使用apktool b app-debug -o newapp.apk  命令重打包apk,成功后看到在app-debug同级目录生成newapp.apk。

最新文章

  1. 使用F#开发ASP.NET Core应用程序
  2. 从零开始山寨Caffe·壹:仰望星空与脚踏实地
  3. dp - 2016腾讯笔试 A
  4. C# 列主元素(Gauss)消去法 计算一元多次方程组
  5. 第五百八十六天至第六百零五天 how ccan I 坚持
  6. GitHub 操作流程示例
  7. iOS图形处理和性能
  8. OCA读书笔记(3) - 使用DBCA创建Oracle数据库
  9. sqlDeveloper连接oracle
  10. As3.0 视频缓冲、下载总结
  11. Mac上关于shell使用Python3和C++11声明
  12. virtualbox中实施ASM扩容实施记录
  13. IntelliJ IDEA(2017.2)安装和破解(转)
  14. map的本质
  15. Utf-8+Bom编码导致的读取数据部分异常问题
  16. mapreduce设置setMapOutputKeyClass与setMapOutputValueClass原因
  17. js页面实时显示时间
  18. android:Activity四种启动模式简单介绍
  19. iOS9 Https技术预研
  20. zoj 3747 (DP)(连续至多,连续至少)

热门文章

  1. Ruby:多线程队列(Queue)下载博客文章到本地
  2. windows cmd窗口提示“telnet”命令不能内部或外部命令,也不是可运行的程序
  3. 全网最详细的Windows系统里PLSQL Developer 64bit安装之后的一些配置(图文详解)
  4. psql工具使用(二)
  5. B 树、B+ 树、B* 树
  6. com.alibaba.fastjson.JSON对类对象的序列化与反序列化
  7. 解析Resources.arsc
  8. Python制作回合制手游外挂简单教程(上)
  9. POJ 1002 487-3279(map映照容器的使用)
  10. 并发编程之 CyclicBarrier 源码分析