一键导入
compare-versions
Compare two versions of an Android app — diff permissions, APIs, security, code changes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Compare two versions of an Android app — diff permissions, APIs, security, code changes
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Full security analysis of an Android application — from APK to report
Discover, document, and map all API endpoints of an Android application
Intelligent traffic interception — SSL bypass, HTTP logging, traffic collection
Automated account registration in an Android app using temp email and UI automation
| name | compare-versions |
| description | Compare two versions of an Android app — diff permissions, APIs, security, code changes |
| user_invocable | true |
| argument | <old.apk> <new.apk> |
| agent | android-reverser |
You are comparing two versions of the same Android app to identify what changed: new features, security changes, API modifications, permission changes.
$ARGUMENTS — two APK paths: <old.apk> <new.apk>Parse arguments: first = OLD version, second = NEW version.
# Get version info
apkid $OLD_APK
apkid $NEW_APK
# Decompile both
jadx -d workspace/output/old_version --deobf $OLD_APK
jadx -d workspace/output/new_version --deobf $NEW_APK
# Also decode resources
java -jar tools/apktool/apktool.jar d -o workspace/output/old_version-smali $OLD_APK
java -jar tools/apktool/apktool.jar d -o workspace/output/new_version-smali $NEW_APK
Compare AndroidManifest.xml:
# Extract permissions from both
grep 'uses-permission' workspace/output/old_version-smali/AndroidManifest.xml | sort > /tmp/perms_old.txt
grep 'uses-permission' workspace/output/new_version-smali/AndroidManifest.xml | sort > /tmp/perms_new.txt
diff /tmp/perms_old.txt /tmp/perms_new.txt
Flag: new dangerous permissions, removed permissions.
# Compare activities, services, receivers, providers
grep -E 'activity |service |receiver |provider ' workspace/output/old_version-smali/AndroidManifest.xml | sort > /tmp/comp_old.txt
grep -E 'activity |service |receiver |provider ' workspace/output/new_version-smali/AndroidManifest.xml | sort > /tmp/comp_new.txt
diff /tmp/comp_old.txt /tmp/comp_new.txt
Flag: new exported components, removed components, changed intent-filters.
Compare: targetSdkVersion, minSdkVersion, debuggable, allowBackup, networkSecurityConfig.
# Compare directory structures
find workspace/output/old_version -name "*.java" | sed 's|workspace/output/old_version/||' | sort > /tmp/files_old.txt
find workspace/output/new_version -name "*.java" | sed 's|workspace/output/new_version/||' | sort > /tmp/files_new.txt
# New files
comm -13 /tmp/files_old.txt /tmp/files_new.txt > /tmp/new_files.txt
# Removed files
comm -23 /tmp/files_old.txt /tmp/files_new.txt > /tmp/removed_files.txt
# Common files (for content diff)
comm -12 /tmp/files_old.txt /tmp/files_new.txt > /tmp/common_files.txt
Focus on files likely to contain security-relevant changes:
diff -rq workspace/output/old_version workspace/output/new_version | head -50
# Extract endpoints from both versions
grep -rn '@GET\|@POST\|@PUT\|@DELETE\|@PATCH' workspace/output/old_version/ | sort > /tmp/api_old.txt
grep -rn '@GET\|@POST\|@PUT\|@DELETE\|@PATCH' workspace/output/new_version/ | sort > /tmp/api_new.txt
Compare: new endpoints, removed endpoints, changed paths, changed parameters.
grep -rn 'baseUrl\|BASE_URL\|API_URL' workspace/output/old_version/ > /tmp/urls_old.txt
grep -rn 'baseUrl\|BASE_URL\|API_URL' workspace/output/new_version/ > /tmp/urls_new.txt
# Compare .so files
unzip -l $OLD_APK | grep '\.so' | sort > /tmp/so_old.txt
unzip -l $NEW_APK | grep '\.so' | sort > /tmp/so_new.txt
diff /tmp/so_old.txt /tmp/so_new.txt
New native libraries may indicate new features or security measures.
Save to workspace/reports/compare-<pkg>-<old_ver>-vs-<new_ver>.md:
# Version Comparison: <App Name>
**Old Version**: X.Y.Z (versionCode)
**New Version**: X.Y.Z (versionCode)
**Date**: YYYY-MM-DD
## Summary
<Key changes in 3-5 bullet points>
## Permissions
### Added
- <permission> — <risk assessment>
### Removed
- <permission>
## Components
### New
- <component type> <name> — exported: yes/no
### Removed
- ...
## API Changes
### New Endpoints
| Method | Path | Notes |
### Removed Endpoints
| Method | Path | Notes |
### Modified Endpoints
| Method | Path | What Changed |
## Security Changes
### Improvements
- <change> — <impact>
### Regressions
- <change> — <risk>
## Notable Code Changes
<Summary of significant code modifications>
## New Dependencies
<New third-party libraries added>