Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/yoraexe-ctf-android
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ctf-android
What's inside
- Skill name
ctf-android- Description
- CTF Android challenge analysis. APK static analysis with Jadx and APKTool, smali disassembly for flag validation logic, native library JNI reverse engineering with Radare2, ADB dynamic analysis with exported activity launch and content provider query, Frida dynamic instrumentation for method hooking and return value patching, smali patching to bypass flag checks, React Native JS bundle extraction, root detection bypass, SharedPreferences and SQLite flag recovery. Triggers: 'android ctf', 'apk reverse engineering', 'jadx decompile', 'apktool smali', 'frida android', 'adb ctf', 'android frida hook', 'apk flag', 'smali patch', 'android native jni', 'react native apk'.
- License
- MIT
- Instructions
- 302 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# CTF Android — APK Reverse Engineering
Jadx, APKTool, ADB, Frida. Full static+dynamic workflow.
## Install
```bash
# Jadx (latest):
wget https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.0.zip
unzip jadx-1.5.0.zip -d jadx && echo "export PATH=$PATH:$PWD/jadx/bin" >> ~/.bashrc
# APKTool:
wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool
wget https://github.com/iBotPeaches/Apktool/releases/latest/download/apktool_2.9.3.jar
chmod +x apktool && sudo mv apktool /usr/local/bin/ && sudo mv apktool_2.9.3.jar /usr/local/bin/apktool.jar
# ADB:
sudo apt-get install adb
# Frida:
pip install frida-tools --break-system-packages
# Push frida-server to emulator:
# adb push frida-server /data/local/tmp/ && adb shell chmod 755 /data/local/tmp/frida-server
```
---
## Phase 1: Reconnaissance
```bash
# Unzip APK (it's a ZIP):
unzip challenge.apk -d apk_contents/
ls apk_contents/ # AndroidManifest.xml, classes.dex, lib/, assets/, res/
# Check manifest for exported components:
apktool d challenge.apk -o apk_decoded/
cat apk_decoded/AndroidManifest.xml | grep -E "exported|Activity|Provider|Receiver"
# Find interesting strings:
strings apk_contents/classes.dex | grep -i "flag\|secret\|pass\|key\|encrypt"
# Check assets for plaintext:
find apk_contents/assets/ -type f | xargs strings | grep -i "flag\|CTF"
cat apk_decoded/res/values/strings.xml | grep -i "flag\|secret"
```
---
## Phase 2: Static Analysis with Jadx
```bash
# Decompile to Java:
jadx -d jadx_out/ challenge.apk
# Search for flag logic:
grep -r "flag\|Flag\|FLAG" jadx_out/sources/ --include="*.java"
grep -r "checkFlag\|verify\|validate\|password" jadx_out/sources/ --include="*.java"
# Find crypto usage:
grep -r "AES\|DES\|Base64\|SecretKeySpec\|Cipher" jadx_out/sources/ --include="*.java"
# Find hardcoded keys/values:
grep -r "BuildConfig\|const String" jadx_out/sources/ --include="*.java"
grep -r "SharedPreferences\|openDatabase\|SQLite" jadx_out/sources/ --include="*.java"
# Native calls:
grep -r "native \|System.loadLibrary\|loadLibrary" jadx_out/sources/ --include="*.java"
```
---
## Phase 3: Smali Analysis
```bash
# Disassemble to Dalvik bytecode:
apktool d challenge.apk -o smali_out/
# Find main activity:
grep -r "onCreate\|onStart" smali_out/smali/ | head -10
# Read flag check class:
cat smali_out/smali/com/ctf/challenge/FlagChecker.smali
# Key smali instructions:
# const-string v0, "expected_value" → hardcoded strings
# invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
# if-eqz v0, :cond_fail → conditional jumps
# Search for comparisons:
grep -n "if-eqz\|if-nez\|equals\|const-string" smali_out/smali/com/ctf/challenge/*.smali
```
---
## Phase 4: Native Library Analysis
```bash
LIB="apk_contents/lib/x86_64/libchallenge.so" # or armeabi-v7a, arm64-v8a
# Basic analysis:
strings "$LIB" | grep -i "flag\|secret\|CTF"
nm -D "$LIB" | grep "Java_" # JNI function exports
# Radare2 analysis:
r2 "$LIB" -A
# Commands:
# afl — list functions
# pdf @sym.Java_com_ctf_FlagChecker_checkNative — disassemble
# iz — list all strings
# iE — list exports
# JNI function naming convention:
# Java_<package_dots_to_underscores>_<ClassName>_<methodName>
# Java_com_ctf_challenge_FlagActivity_checkFlag
# Check for embedded key in .rodata:
objdump -s -j .rodata "$LIB" | head -50
```From Yoraexe/ceobe, MIT.
More from Yoraexe/ceobe
- 0.502score
codex-qa
Yoraexe
QA the omo Codex Light edition (lazycodex / packages/omop-codex) itself, in strict isolation so ONLY our plugin is exercised, never the user's real ~/.codex.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-advanced-math
Yoraexe
CTF advanced math crypto.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-classic
Yoraexe
CTF classic cipher attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-ecc
Yoraexe
CTF ECC attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-exotic
Yoraexe
CTF exotic cryptography attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-prng
Yoraexe
CTF PRNG attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-rsa
Yoraexe
CTF RSA cryptography attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ad-attacks
Yoraexe
Active Directory credential attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-modern
Yoraexe
CTF modern cipher attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
ctf-crypto-historical
Yoraexe
CTF historical cipher attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
blue-detect
Yoraexe
Blue team detection skill.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
blue-forensics
Yoraexe
Blue team forensics skill.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jul 17, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Yoraexe/ceobe
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Yoraexe
- 0.502score
codex-qa
Yoraexe
QA the omo Codex Light edition (lazycodex / packages/omop-codex) itself, in strict isolation so ONLY our plugin is exercised, never the user's real ~/.codex.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-ecc
Yoraexe
CTF ECC attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-classic
Yoraexe
CTF classic cipher attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-advanced-math
Yoraexe
CTF advanced math crypto.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ad-attacks
Yoraexe
Active Directory credential attacks.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
ctf-crypto-exotic
Yoraexe
CTF exotic cryptography attacks.
SkillCFreshness: C★ 1Claude Code +9
Cite this page
ctf-android skill. Agent Mart. https://agentmart.dev/skills/yoraexe-ctf-android (last updated 2026-10-24)