@@ -46,48 +46,99 @@ The following MCP tools are available:
4646- ` list_smali_files() ` — List smali files in a specific smali directory, optinally filtered by package prefix.
4747- ` get_smali_file() ` — Get content of a specific smali file by class name.
4848- ` modify_smali_file() ` — Modify the content of a specific smali file.
49- - ` () ` —
50- - ` () ` —
51- - ` () ` —
52- - ` () ` —
53- - ` () ` —
54- - ` () ` —
55- - ` () ` —
56- - ` () ` —
57- - ` () ` —
58- - ` () ` —
59- - ` () ` —
49+ - ` list_resources() ` — List resources in a project, optionally filtered by resource type.
50+ - ` get_resource_file() ` — Get Content of a specific resource file.
51+ - ` modify_resource_file() ` — Modify the content of a specific resource file.
52+ - ` search_in_file() ` — Search for a pattern in files with specified extensions.
53+ - ` check_apktool_version() ` — Check the installed APKTool version.
54+ - ` sign_apk() ` — Sign an APK file.
55+ - ` install_apk() ` — Install and APK on a connected device using ADB. ** // to be migrated to upcoming ADB MCP Server**
56+ - ` extract_dex() ` — Extract DEX files from original APK (if available in project).
57+ - ` list_packages() ` — List installed packages on a connected Android device using ADB. ** // to be migrated to upcoming ADB MCP Server**
58+ - ` analyze_permissions() ` — Analyze permissions declared in AndroidManifest.xml.
59+ - ` clean_project() ` — Clean a project directory to prepare for rebuilding.
60+ - ` create_project() ` — Create a new empty APKTool project structure.
61+ - ` delete_project() ` — Delete an APKTool project directory
62+ - ` compare_smali_files() ` — Compare two smali files and show differences.
63+ - ` get_available_devices() ` — Get list of available Android devices connected via ADB ** // to be migrated to upcoming ADB MCP Server**
64+ - ` decode_apk() ` — Decode an APK file using APKTool, extracting resources and smali code.
6065
6166---
6267
6368## 🗒️ Sample Prompts
6469
65- ** TODO**
6670
67- 🔍 Basic Code Understanding
71+ ### 🔍 Basic Code Understanding
6872
69- ** TODO **
73+ - “List all smali directories for the dvac project.”
7074
71- 🛡️ Vulnerability Detection
75+ - “Show me all the smali files under the package prefix com.vulnerable.component in the dvac project.”
7276
73- ** TODO **
77+ - “Get the smali code for the class com.vulnerable.component.MainActivity.”
7478
75- 🛠️ Reverse Engineering Helpers
79+ - “Compare MainActivity.smali with its previous version and show differences.”
7680
77- ** TODO **
81+ - “Search for usage of startActivity in smali files of dvac project.”
7882
79- 📦 Static Analysis
83+ ### 🛡️ Vulnerability Detection
8084
81- ** TODO **
85+ - “Analyze declared permissions in the dvac AndroidManifest.xml and flag dangerous ones.”
8286
83- 🤖 AI Code Modification
87+ - “Search for hardcoded URLs or IPs in all .xml and .smali files in the project.”
8488
85- ** TODO **
89+ - “Find all uses of PendingIntent.getActivity in smali files.”
8690
87- 📄 Documentation & Metadata
91+ - “Check for exported activities or receivers in dvac’s AndroidManifest.xml.”
8892
89- ** TODO **
93+ - “List all smali files that access android.permission.SEND_SMS or READ_CONTACTS.”
9094
95+ ### 🛠️ Reverse Engineering Helpers
96+
97+ - “Decode this APK: dvac.apk and create a project called dvac.”
98+
99+ - “Create a new APKTool project called test-harness.”
100+
101+ - “Clean the dvac project before rebuild.”
102+
103+ - “Extract DEX files from dvac project for external analysis.”
104+
105+ - “Modify MainActivity.smali to insert a log line at the beginning of onCreate().”
106+
107+ ### 📦 Static Analysis
108+
109+ - “Get the complete AndroidManifest.xml from dvac project.”
110+
111+ - “Show the contents of apktool.yml for the dvac project.”
112+
113+ - “List all resource files of type layout.”
114+
115+ - “Search for the word password in all resource and smali files.”
116+
117+ - “Check which permissions are used and compare them against typical over-permissioning risks.”
118+
119+ ### 🤖 AI Code Modification
120+
121+ - “Modify the onCreate() method in MainActivity.smali to add a toast message.”
122+
123+ - “Replace all http:// links with https:// in strings.xml.”
124+
125+ - “Add the android: exported =false attribute to all activities in the AndroidManifest.xml.”
126+
127+ - “Patch the method validateLogin in LoginManager.smali to always return true.”
128+
129+ - “Add logging statements to every method in MainActivity.smali.”
130+
131+ ### 📄 Documentation & Metadata
132+
133+ - “List all decoded APKTool projects in the workspace.”
134+
135+ - “Show me the apktool.yml config to review the version, original APK metadata, and compression settings.”
136+
137+ - “Get all available Android devices connected via ADB. (To be migrated to ADB MCP Server.)”
138+
139+ - “Get metadata about the project dvac from its apktool.yml.”
140+
141+ - “Check which APKTool version is currently installed on the server.”
91142---
92143
93144## 🛠️ Getting Started
0 commit comments