【APP逆向01】逆向原理与反编译工具
-
APP正向开发
- 安卓开发工程师---》Java语法+安卓框架---》实现功能(java+C)---》写的代码 打包---》xx.apk(资源文件:图片,音频 java: .dex)
-
APP逆向
- 拿到 xx.apk--->反编译(加壳,混淆)---》java+c 代码---》hook技术(验证代码)---》python还原逻辑--》发送请求获取数据
-
什么是反编译
- 1.反编译是指将已编译的安卓应用程序(APK文件)转换回其源代码的过程
- 通常,安卓应用程序在开发过程中会经过编译,将源代码转换为可执行的二进制代码,这使得源代码不可见和难以理解。反编译的过程旨在还原应用程序的源代码,以便进行分析、理解和修改。
- 2.通过安卓反编译,你可以获取应用程序的源代码,了解其实现逻辑、算法、资源文件和其他关键信息。这对于安卓应用程序的安全评估、漏洞分析、逆向工程、定制化和学习都有重要意义。
- 3.在安卓反编译过程中,常见的工具和技术包括:
- apktool:apktool是一款常用的开源工具,用于反编译和重新打包APK文件。它可以将APK文件解压为资源文件和Smali代码,并提供了对Smali代码进行分析和编辑的功能。
- JADX:JADX是一款功能强大的开源工具,用于将APK文件转换为可读的Java源代码。它能够还原大部分Java代码,并提供源代码分析和导航功能
- JD-GUI:JD-GUI是一款免费的Java反编译工具,可以将已编译的Java类文件转换为可读的Java源代码。尽管它主要用于Java反编译,但对于某些Smali代码的反编译也有一定的支持
- 1.反编译是指将已编译的安卓应用程序(APK文件)转换回其源代码的过程
-
JADX的下载与安装
- 1.电脑安装JDK,自行百度
- 2.下载jadx,去我的百度云取即可;链接:https://pan.baidu.com/s/1IarNlSu2P00Zy3D5pIQUJQ 提取码:f1eh
- 3.解压之后,来到bin路径下
- win:双击 jadx-gui.bat
- mac: ./jadx-gui
- 4.将app包直接拖到jadx中即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端