chipsec
Static analysis of UEFI/BIOS firmware dumps using Intel's chipsec framework. Decode firmware structure, detect known malware and rootkits (LoJax, ThinkPwn,…
Android APK unpacking and resource extraction tool for reverse engineering. Use when you need to decode APK files, extract resources, examine AndroidManifest.xml, analyze smali code, or repackage modified APKs.
$ npx -y skills add brownfinesecurity/iothackbot --skill apktool --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/apktoolContext preview
The summary Claude sees to decide when to auto-load this skill.
Android APK unpacking and resource extraction tool for reverse engineering. Use when you need to decode APK files, extract resources, examine AndroidManifest.xml, analyze smali code, or repackage modified APKs.
name: apktool description: Android APK unpacking and resource extraction tool for reverse engineering. Use when you need to decode APK files, extract resources, examine AndroidManifest.xml, analyze smali code, or repackage modified APKs.
You are helping the user reverse engineer Android APK files using apktool for security analysis, vulnerability discovery, and understanding app internals.
Apktool is a tool for reverse engineering Android APK files. It can decode resources to nearly original form and rebuild them after modifications. It's essential for:
When the user asks to unpack, decode, or analyze an APK:
**Standard decode command:**
apktool d <apk-file> -o <output-directory>
**Example:**
apktool d app.apk -o app-unpacked
**With force overwrite (if directory exists):**
apktool d app.apk -o app-unpacked -f
After unpacking, the output directory contains:
app-unpacked/ ├── AndroidManifest.xml # Readable manifest (permissions, components) ├── apktool.yml # Apktool metadata (version info, SDK levels) ├── original/ # Original META-INF certificates │ └── META-INF/ ├── res/ # Decoded resources │ ├── layout/ # XML layouts │ ├── values/ # Strings, colors, dimensions │ ├── drawable/ # Images and drawables │ └── ... ├── smali/ # Disassembled DEX code (smali format) │ └── com/company/app/ # Package structure ├── assets/ # App assets (if present) ├── lib/ # Native libraries (if present) │ ├── arm64-v8a/ │ ├── armeabi-v7a/ │ └── ... └── unknown/ # Files apktool couldn't classify
**Skip resources (code analysis only):**
apktool d app.apk -o app-code-only -r # or apktool d app.apk -o app-code-only --no-res
**Skip source code (resource analysis only):**
apktool d app.apk -o app-resources-only -s # or apktool d app.apk -o app-resources-only --no-src
The manifest reveals critical security information:
# After unpacking cat app-unpacked/AndroidManifest.xml
**Look for:**
**Example analysis commands:**
# Find all permissions grep "uses-permission" app-unpacked/AndroidManifest.xml # Find exported components grep "exported=\"true\"" app-unpacked/AndroidManifest.xml # Check if debuggable grep "debuggable" app-unpacked/AndroidManifest.xml # Find all activities grep "android:name.*Activity" app-unpacked/AndroidManifest.xml
# View all string resources cat app-unpacked/res/values/strings.xml # Search for API keys, URLs, credentials grep -r "api" app-unpacked/res/values/ grep -r "http" app-unpacked/res/values/ grep -r "password\|secret\|key\|token" app-unpacked/res/values/ # Find hardcoded URLs in resources grep -rE "https?://" app-unpacked/res/
Smali is the disassembled Dalvik bytecode format:
# Find specific class find app-unpacked/smali -name "*Login*.smali" find app-unpacked/smali -name "*Auth*.smali" # Search for security-relevant code grep -r "crypto\|encrypt\|decrypt" app-unpacked/smali/ grep -r "http\|https\|url" app-unpacked/smali/ grep -r "password\|credential\|token" app-unpacked/smali/ # Find native library usage grep -r "System.loadLibrary" app-unpacked/smali/ # Find file operations grep -r "openFileOutput\|openFileInput" app-unpacked/smali/
**Note**: Smali is harder to read than Java source. Consider using jadx for Java decompilation for easier analysis.
# List native libraries ls -lah app-unpacked/lib/ # Check architectures supported ls app-unpacked/lib/ # Identify library types file app-unpacked/lib/arm64-v8a/*.so # Search for interesting strings in libraries strings app-unpacked/lib/arm64-v8a/libnative.so | grep -i "http\|key\|password"
After modifying resources or smali code:
apktool b app-unpacked -o app-modified.apk
**Important**: Rebuilt APKs must be signed before installation:
# Generate keystore (one-time setup) keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias # Sign APK jarsigner -verbose -keystore my-release-key.jks app-modified.apk my-key-alias # Verify signature jarsigner -verify app-modified.apk # Zipalign (optimization) zipalign -v 4 app-modified.apk app-modified-
Open-source IoT security testing toolkit with integrated Claude Code skills for automated vulnerability discovery.
Static analysis of UEFI/BIOS firmware dumps using Intel's chipsec framework. Decode firmware structure, detect known malware and rootkits (LoJax, ThinkPwn,…
Advanced file finder with type detection and filesystem extraction for analyzing firmware and extracting embedded filesystems. Use when you need to analyze…
IoT network traffic analyzer for detecting IoT protocols and identifying security vulnerabilities in network communications. Use when you need to analyze…
Android APK decompiler that converts DEX bytecode to readable Java source code. Use when you need to decompile APK files, analyze app logic, search for…
Probe IoT/embedded targets for exposed SWD/JTAG debug interfaces using a SEGGER J-Link. Detects whether debug is OPEN, LOCKED (readout-protected), or DEAD…
Analyze digital and analog captures from Saleae Logic MSO devices. Decode protocols like UART, SPI, I2C from exported binary files. Use when analyzing logic…