一 反编译工具
1.1 常见反编译工具
常见的反编译工具:jadx(推荐)、jeb、GDA
反编译工具依赖于java环境,所以我们按照jdk
1.2 JDK环境安装
# 官方地址:(需要注册-最新java 21)
https://www.oracle.com/java/technologies/downloads/
### 1.2.1 win平台安装
```python
# 1 下载jdk-8u371-windows-x64.exe
# 2 双击安装
1.2.2 mac平台安装
# 1 下载jdk-8u371-macosx-x64.dmg
# 2 双击安装
1.2.3 验证是否安装成功
java -version # 看到打印安装成功
'''
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
'''
1.3 jdax安装
1.3.1 下载地址
# 1 官网
https://github.com/skylot/jadx/releases
# 最新:1.4.7 推荐:1.2.0,后期都会用
1.3.2 安装
请参照相关文档安装。
二 反编译后代码定位
2.1 抓包
# 打开app,运行,使用抓包工具抓包,发现密码是加密的
# 这时候咱们需要,反编译后,定位到代码位置
2.2 反编译定位位置
# 通过:URL网址 或 参数关键字 `pwd` `"pwd"` put("pwd 等关键字搜索
# https://dealercloudapi.che168.com/tradercloud/sealed/login/login.ashx
# 我们发现,定位到代码,但是读不懂什么意思,只能靠猜测和比较
import hashlib
str='1234567'
res=hashlib.md5(str.encode('utf-8')).hexdigest()
print(res)
## 注意:这个过程需要掌握Java和安卓开发。所以后期我们要学习java知识和安卓开发
三hook框架frida
Hook 框架是一种技术,用于在运行时拦截和修改应用程序的行为。
通过 Hook,你可以劫持应用程序的方法调用、修改参数、篡改返回值等,以达到对应用程序的修改、增强或调试的目的
# 常见的有:
Xposed Framework:Xposed 是一个功能强大的开源 Hook 框架,可以在不修改应用程序源代码的情况下,对应用程序进行各种修改。它允许你编写模块来拦截和修改应用程序的方法调用,修改应用程序的行为和逻辑。
Frida:Frida 是一个跨平台的动态 Hook 框架,支持安卓和其他操作系统。它提供了一个强大的 JavaScript API,可以在运行时对应用程序进行 Hook,包括方法拦截、参数修改、调用注入等。Frida 可以用于安全研究、逆向工程和应用程序调试等方面。
3.1 下载安装
# 注意:需要电脑端[电脑端要安装python解释器环境]和手机端同时安装,版本必须对应
3.1.1 电脑端安装
# 指定版本安装
pip install frida==16.0.1
pip install frida-tools==12.0.1
# 安装最新版
pip install frida # 16.0.9
pip install frida-tools # 12.1.2
# 正常都可以顺利安装,若安装出现错误,下载源码包安装
#### 必须根据 :frida版本 + Python版本 + 操作系统 来选择下载响应的egg或whl文件。
https://pypi.doubanio.com/simple/frida/
pip install frida-16.0.1-cp37