关于安卓APK程序的逆向比WindowsPE文件的逆向要简单太多了

1.安卓的APK程序其实就是一个zip,可以用winrar打开,解压后会看到很熟悉的目录,还有AndroidManifest.xml文件,各种资源和图片

2.xml用记事本打开,会看到有乱码,所以需要使用AXMLPrinter2.jar工具来进行处理一下,命令如下:

java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt

这时打开AndroidManifest.txt,就会看到和源码里差不多了,也没乱码了.

3.APK的所有.java代码是编译到classes.dex文件里的,所以要想知道程序的操作流程和具体功能,必须得反编译这个文件,使用baksmali.jar工具

java -jar baksmali.jar -o classout/ classes.dex

执行完成后,生成一个classout目录,进去找到android目录,.smali,就对应.java的代码了,咱们看.small里的代码就行了,虽然不是标准的java代码,但看习惯之后就很简单了,起码比Windows的汇编要简单太多了...

4.最后,咱们通过反编译之后,可以改代码改资源,改完之后,还得编译回去,使用smali.jar工具

java -jar smali.jar classout/ -o classes.dex

这样弄好之后,再塞进那个apk里,这样程序还是可以运行的,呵呵!

5.有时候AXMLPrinter2.jar不一定能处理好xml,会报错,据说是因为清单文件minSdkVersion大于7,咱们可以用APKTool

APKTool很简单,就是三个文件(aapt.exe、apktool.bat、apktool.jar)

apktool d <file.apk> <dir> //反编译

apktool b <dir>                  //重新编译

12点多了,好困啊,睡觉了.

Android安卓APK反编译逆向相关推荐

  1. Android的APK反编译技术

    Android的APK反编译主要由反编译源码以及反编译资源两部分,第一种方法用来学习别人优秀的代码,第二种方法可以反编译做汉化或其它一些有用的用途(这个你懂的).        想要反编译,那相应的工 ...

  2. 【反编译】安卓APK反编译为java文件

    [反编译]安卓APK反编译为java文件 准备工具 要反编译的apk文件, 以微信8.0.apk为例子 dex2jar   下载地址 dex2jar-2.0反编译.zip-Android文档类资源-C ...

  3. 安卓apk反编译操作步骤

    安卓apk反编译操作步骤 1.反编译需要准备的工具 apktool .dex2jar.jd-gui(到原博客可直接下载) 2.反编译操作步骤: 1)使用apktool反编译apk 2)使用dex2ja ...

  4. android apk 反编译工具,安卓apk反编译神器

    APK反编译神器安卓修改大师是一个解编APK文件的工具,使用它可以轻松地解编所有APK安装包,替换应用程序界面中的所有文本和图片,代码级别的修改可以增强中文.裂缝.功能等等. 软件说明 可以向所有界面 ...

  5. Unity 安卓 apk 反编译 重新打包 签名修改

    拿到一个Unity 打包出来的apk,如果没有加密的话 ,你是可以通过反编译修改其中的属性的. 步骤一   apk 解压 方法1: apk 变成 .zip 并解压 然后修改 \assets\bin\D ...

  6. MacOS环境下安卓apk反编译

    总共分为四步,需要下载三个工具. 1.下载apktool工具:Apktool - How to Install​​​​​​​ 我选择的安装方式是使用homebrew安装,首先要安装homebrew,安 ...

  7. 关于安卓Apk反编译 再编译回来不能正常安装的问题

    使用apktool反编译apk之后,再编译回去,发现不能正常安装,而使用ApkToolKitV3.0反编译,再编译回去就可以正常安装. 主要原因是因为使用apktool编译回没有签名. 所以不能安装, ...

  8. 安卓apk反编译工具和方法

    工具下载 百度网盘地址-->链接: https://pan.baidu.com/s/1pwy03UpRpzEyla4MNlAILw 提取码: fp9c 或者单独下载: apktool,编译和反编 ...

  9. mono桌面应用移到android,从原生APK反编译,拿到界面,用于mono for android

    从原生APK反编译,拿到界面,用于mono for android 1.用apktool反编译apk,得到xxx.apk.de 2.从xxx.apk.de\res\layout 3.复制所有xml到M ...

最新文章

  1. 叉乘(三)——线段与线段相交吗?
  2. 14个超有料的优质公众号,关注了就舍不得删
  3. 1151压力变送器型号_日本进口横河EJA530E压力变送器型号解读!
  4. bp 神经网络 优点 不足_基于粒子群算法和BP神经网络的多因素林火等级预测模型...
  5. Everything is Serverless,从开源框架对比说起
  6. Docker存储卷基本操作
  7. php算法求出一个数可以被分解成多少个_面试时写不出排序算法?看这篇就够了(下)...
  8. Unity3D教程:尽量避免使用foreach
  9. eclipse如何创建web项目
  10. C++中this指针
  11. 关于投资收益和风险的例题(线性规划)
  12. POI dataFormat种类
  13. 189邮箱smpt服务器,客户端软件配置-帮助中心-中国电信189邮箱
  14. BZOJ 1233 干草堆 (单调队列优化DP)
  15. LeetCode:911. 在线选举————中等
  16. 玩qq游戏提示计算机内存不足,为什么电脑运行游戏后提示内存不足
  17. 呃,bing 桌面词典中的成熟美女
  18. 关于禁用触摸屏右键的方法
  19. NFT 让互联网“Ownable”, 游戏让 NFT “Producible”
  20. rust 蓝卡_rust蓝卡在哪里弄 | 手游网游页游攻略大全

热门文章

  1. 项目第一天--ElementUI介绍
  2. webform 的路由
  3. 在Myeclipse中没有部署jeesite项目,但是每次运行其他项目时,还是会加载jeesite项目...
  4. angular的自定义指令---详解
  5. Bzoj 2152: 聪聪可可(点分治)
  6. 比较重量 网易2016实习研发工程师编程题
  7. CONTEST199 [有奖]洛谷8月月赛题解
  8. PHP 基本数据类型
  9. iOS之深入解析如何构建静态库
  10. 【网络通信与信息安全】之深入解析TCP与UDP传输协议