安卓逆向-预备工具 | Java基本知识 | 安卓软件包:APK

预备工具

JAVA环境:
官方下载安装地址: https://www.oracle.com/technetwork/java/javase/downloads/index.html

在这里插入图片描述

apktool:
https://ibotpeaches.github.io/Apktool/
是apktool.jar 要安装Java环境才能运行
windows下设置环境变量 后 可以用 apktool 命令
教程网址:https://blog.csdn.net/renwudao24/article/details/79032889

在这里插入图片描述

JADX:
https://www.softpedia.com/get/Programming/Other-Programming-Files/Jadx.shtml
解压后在目录里可以直接双击运行
keytool 证书工具(Java SDK里自带的)
jarsigner 签名工具(Java SDK里自带的)

Java基本知识

JAVA源代码文件是XXX.java
JAVA是编译性语言,编译后才能运行(PYTHON是解释性语言,直接运行)
JAVA编译后的文件是XXX.class class文件是可执行文件,在安卓下面是 xxx.dex dex是安卓里可执行文件
JAVA虚拟机运行可以运行XXX.class java XXX.class

安卓软件包:APK

APK就是一个压缩文件,在电脑上可以通过重命名成zip后缀,然后用zip压缩解压
常规APK目录下会有
  • assets:静态资源文件(图片,网页,视频,语音),不会被编译(直接可以查看的)
  • lib:APP依赖的第三方库 .so库(C语言写的),系统库,自己打包的库。有的把加密/token生成方式放在.so文件里
  • res:静态资源文件(静态文本,图片,关键资源) 汉化,要被编译成二进制的,无法直接查看(储存比assets更重要的机密信息)。 举例汉化,游戏人物对白,游戏人物头像
  • META-INF:签名信息
  • AndroidManifest.xml:配置信息(关键),一个安卓APP运行起来必须会读这个文件,举例修改权限
  • classes.dex:程序主逻辑代码所在处,android dalvik虚拟机可执行文件(用APKTOOL反编译之后会变成smali文件)
  • resources.arsc:res的资源索引/对应文件。(classes.dex通过读取resources.arsc从而在res中找到所需要的文件)
APP开发人员利用解压的漏洞,进行加固(解决方法:1.反编译老版本 2.等待反编译软件更新)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值