Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/newdive/uzmap-resource-extractor
apicloud apk的资源解密提取器
https://github.com/newdive/uzmap-resource-extractor
androidnativeemu apicloud python2 python3 reverse-engineering unicorn uzmap
Last synced: 3 months ago
JSON representation
apicloud apk的资源解密提取器
- Host: GitHub
- URL: https://github.com/newdive/uzmap-resource-extractor
- Owner: newdive
- License: apache-2.0
- Created: 2020-03-06T13:36:12.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-07-13T15:15:36.000Z (over 2 years ago)
- Last Synced: 2024-08-01T17:37:10.957Z (6 months ago)
- Topics: androidnativeemu, apicloud, python2, python3, reverse-engineering, unicorn, uzmap
- Language: Python
- Homepage:
- Size: 17.4 MB
- Stars: 91
- Watchers: 6
- Forks: 41
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# uzmap-resource-extractor
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
[![Python 3.x](https://img.shields.io/badge/python-3.x-blue.svg)](https://github.com/python/cpython/tree/master)
用于解密和提取apicloud apk下的资源文件(html, js ,css)
### 背景&说明 ###
本人平时分析这类h5 app的时候,经常需要提取html, css, js等资源文件。 然而目前没有便捷的方法(有些通过xpose hook的方式提取,但比较麻烦)
所以我针对同类app分析, 同时也对其中的libsec.so文件进行逆向,发现是使用rc4方式加密,而且密钥可以静态提取,所以写了这个工具方便快速提取资源文件
项目的 [resources](https://github.com/newdive/resources) 文件夹中附带了apk和libsec.so的文件样本,供参考分析。
如果后续的加密方式有修改而导致不适用,可以提issue,也特别欢迎各位有志之士添砖加瓦
这个工具仅供个人研究学习使用。 其它非法用途所造成的法律责任,一律与本项目无关。
### Note ###
> **接入 [AndroidNativeEmu](https://github.com/AeonLucid/AndroidNativeEmu/) ,探索并尝试新的解密思路**- ```master``` 分支支持 ```python3.x```
- [emu_support](https://github.com/newdive/uzmap-resource-extractor/tree/emu_support) 分支支持 **AndroidNativeEmu 解密方式**
- ```python2``` 分支支持 ```python2.7```
请根据具体需要选择相应分支### Setup ###
先安装项目的依赖
```
pip install -r requirements.txt
```- 支持pycryptodome, 让解密更高效
```
pip install -r optional-requirements.txt
```### Usage ###
```
python main.py xxx.apk
```
支持参数列表通过 -h查看
```
python main.py -h
```具体用例
- 查看apk中的rc4密钥
```python main.py -v xxx.apk ```
输出信息说明
```
package : xxx.ooo.xxx ==> 应用包名
uz_version : 1.3.13 ==> apicloud engine的版本号
encrypted : False ==> 资源是否加密
rc4Key : xxxxxxxxxxxxxxxxxxxx ==> 资源加密用到的RC4密钥
```- 解密并提取所有的资源文件(如果不指明输出路径 默认输出到apk所在的文件夹下)
```python main.py -o 输出路径 xxx.apk ```
- 支持批量识别和解密 可以指定文件夹,会自动扫描文件夹下的所有 apicloud apk 并执行识别或解密```python main.py -v targetFolder```