Skip to content

Commit 8b73b55

Browse files
committed
updated readme
1 parent 3430eac commit 8b73b55

File tree

1 file changed

+75
-24
lines changed

1 file changed

+75
-24
lines changed

README.md

Lines changed: 75 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)