8000 GitHub - nullenc0de/reverse-apk
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

nullenc0de/reverse-apk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 

Repository files navigation

Reverse APK Analyzer

A powerful tool for APK analysis, decompilation, and security assessment. This tool combines multiple reverse engineering utilities with security scanning to provide comprehensive APK analysis.

Features

  • 🔍 APK Decompilation with multiple tools
  • 🛡️ Security analysis using Nuclei
  • 📱 Android Manifest parsing
  • 🌐 URL and API endpoint detection
  • 📊 Detailed security reporting
  • 💾 Comprehensive JSON output

Installation

System Requirements

  • Python 3.8+
  • Java 11+
  • Go 1.19+ (for nuclei)
  • Linux/Unix environment (recommended) or Windows with WSL

Complete Installation Commands

# System dependencies (Ubuntu/Debian)
sudo apt update
sudo apt install -y \
    python3 \
    python3-pip \
    default-jdk \
    apktool \
    zipalign \
    adb \
    git \
    wget \
    unzip

# Install dex2jar
cd /opt
wget https://github.com/pxb1988/dex2jar/releases/download/v2.1/dex2jar-2.1.zip
unzip dex2jar-2.1.zip
chmod +x dex2jar-2.1/d2j-dex2jar.sh
sudo ln -s /opt/dex2jar-2.1/d2j-dex2jar.sh /usr/local/bin/d2j-dex2jar

# Install jadx
wget https://github.com/skylot/jadx/releases/download/v1.4.7/jadx-1.4.7.zip
unzip jadx-1.4.7.zip
chmod +x jadx/bin/jadx
sudo ln -s /opt/jadx/bin/jadx /usr/local/bin/jadx

# Install Go and set path
wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

# Install nuclei
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest

# Python dependencies
pip3 install lxml typing-extensions urllib3

# Clone and prepare the tool
cd /opt
git clone https://github.com/nullenc0de/reverse-apk.git
cd reverse-apk
chmod +x reverse-apk.py

Getting APKs for Analysis

From Google Play Store

  1. Visit Evozi APK Downloader
  2. Get the Google Play URL or package name (e.g., com.example.app)
  3. Download the APK

Alternative APK Sources

Usage

Basic Usage

python3 reverse-apk.py -a path/to/your.apk -t 30

Command Line Options

-a, --apk     : Path to the APK file (required)
-t, --timeout : Timeout for nuclei scan in minutes (default: 60)

Output Files Generated

  1. <package>_report.txt: Human-readable security report
  2. <package>_analysis.json: Detailed JSON analysis data

Analysis Features

Static Analysis

  • APK Decompilation
  • Manifest Analysis
  • Permission Checking
  • Component Analysis
  • URL/Endpoint Discovery

Security Checks

  • Certificate Analysis
  • Security Configuration Review
  • Permission Assessment
  • Component Export Analysis
  • Nuclei Security Scans

Troubleshooting

Common Issues and Fixes

  1. Tool Path Issues:
# Add tools to path
echo 'export PATH=$PATH:/opt/dex2jar-2.1:/opt/jadx/bin:~/go/bin' >> ~/.bashrc
source ~/.bashrc
  1. Permission Issues:
# Fix permissions
sudo chown -R $USER:$USER /opt/dex2jar-2.1
sudo chown -R $USER:$USER /opt/jadx
chmod +x reverse-apk.py
  1. Memory Issues:
# Increase jadx memory
echo 'export JADX_OPTS="-Xmx4g"' >> ~/.bashrc
source ~/.bashrc
  1. Java Version:
# Check Java version
java -version

# Set JAVA_HOME if needed
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Validation

# Verify all tools are installed correctly
python3 --version
java -version
apktool --version
d2j-dex2jar --version
jadx --version
nuclei -version

Example Report Output

Security Analysis Report for com.example.app

Version: 1.0.0
Min SDK Version: 21
Target SDK Version: 30
Debuggable: false
Allow Backup: true

Permissions:
  - android.permission.INTERNET
  - android.permission.ACCESS_NETWORK_STATE

Exported Components:
  - activity: com.example.MainActivity
  - receiver: com.example.BootReceiver

URLs Found:
  - https://api.example.com/v1
  - https://cdn.example.com/assets

Legal Disclaimer

IMPORTANT:
- Only analyze APKs you have permission to examine
- Respect application terms of service
- Use for educational purposes only
- Some apps may have anti-reverse engineering measures

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Support

Need help?

  • Open an issue on GitHub
  • Check existing issues for solutions
  • Include detailed error messages when reporting problems

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

Security Notice

Report security vulnerabilities responsibly through GitHub's security advisory feature.


Made with ❤️ by nullenc0de

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0