-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·114 lines (99 loc) · 3.54 KB
/
Copy pathsetup.sh
File metadata and controls
executable file
·114 lines (99 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
BOLD='\033[1m'
NC='\033[0m'
banner() {
echo -e "${RED}"
echo " ___ ____ _ __ ____ _ _ _ ____ _ ____ "
echo " / __)( ___)( )/ ( _ \( \/ )( )( __)( ) ( _ \ "
echo "( _ ) _) )( / )___/ ) / )( _) )(__ ) / "
echo " \___)(____)(__)\_)(__) (__/ (__)(____)(____(_)\_)"
echo -e "${NC}"
echo -e "${BOLD} APKShield v2.0 — Kali Linux Setup Script${NC}"
echo -e "${CYAN} Advanced Android VAPT Framework${NC}"
echo ""
}
info() { echo -e "${CYAN}[*] $1${NC}"; }
success() { echo -e "${GREEN}[+] $1${NC}"; }
warn() { echo -e "${YELLOW}[!] $1${NC}"; }
error() { echo -e "${RED}[-] $1${NC}"; }
banner
# Check root or sudo
if [[ $EUID -ne 0 ]]; then
warn "Not running as root. Some installs may need sudo."
fi
info "Updating package list..."
sudo apt update -qq
info "Installing system dependencies..."
sudo apt install -y -qq \
python3 python3-pip git \
default-jdk adb curl wget \
unzip aapt 2>/dev/null || true
success "System packages installed"
info "Installing apktool..."
if ! command -v apktool &>/dev/null; then
wget -q https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool \
-O /tmp/apktool
wget -q https://github.com/iBotPeaches/Apktool/releases/latest/download/apktool_2.9.3.jar \
-O /tmp/apktool.jar
chmod +x /tmp/apktool
sudo mv /tmp/apktool /usr/local/bin/apktool
sudo mv /tmp/apktool.jar /usr/local/bin/apktool.jar
success "apktool installed"
else
success "apktool already installed: $(apktool --version)"
fi
info "Installing jadx..."
if ! command -v jadx &>/dev/null; then
wget -q https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.0.zip \
-O /tmp/jadx.zip
unzip -q /tmp/jadx.zip -d /tmp/jadx-dist
sudo cp /tmp/jadx-dist/bin/jadx /usr/local/bin/jadx
sudo chmod +x /usr/local/bin/jadx
sudo mkdir -p /usr/local/lib/jadx
sudo cp -r /tmp/jadx-dist/lib/* /usr/local/lib/jadx/
success "jadx installed"
else
success "jadx already installed: $(jadx --version)"
fi
info "Installing Python packages..."
pip3 install --break-system-packages -q \
frida-tools \
objection \
rich \
jinja2 \
openpyxl \
pyyaml \
click \
colorama \
python-magic
success "Python packages installed"
info "Creating required directories..."
mkdir -p reports tests/sample_apks
info "Setting up apkshield command..."
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WRAPPER="/usr/local/bin/apkshield"
sudo tee "$WRAPPER" > /dev/null << WRAPPER_EOF
#!/bin/bash
cd "$SCRIPT_DIR"
python3 "$SCRIPT_DIR/main.py" "\$@"
WRAPPER_EOF
sudo chmod +x "$WRAPPER"
success "apkshield command installed at $WRAPPER"
echo ""
echo -e "${GREEN}${BOLD}═══════════════════════════════════════${NC}"
echo -e "${GREEN}${BOLD} APKShield setup complete!${NC}"
echo -e "${GREEN}${BOLD}═══════════════════════════════════════${NC}"
echo ""
echo -e " Usage:"
echo -e " ${CYAN}apkshield check${NC} # verify all tools"
echo -e " ${CYAN}apkshield scan target.apk${NC} # full scan"
echo -e " ${CYAN}apkshield static target.apk${NC} # static only"
echo -e " ${CYAN}apkshield dynamic target.apk${NC} # dynamic only"
echo -e " ${CYAN}apkshield scan target.apk --skip-exploit${NC} # no bypass"
echo ""
info "Run 'apkshield check' to verify your environment."