get_module_imports
List imports for a module in game hacking and reverse engineering, showing name, module, and address details to analyze dependencies and function calls.
Instructions
List imports for a module.
Args:
module_name: Name of the module
filter_name: Optional filter for import names
Returns:
List of imports with name, module, and address.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| module_name | Yes | ||
| filter_name | No |
Implementation Reference
- The handler function implementing the get_module_imports tool. It attaches to the Frida session, executes JavaScript to enumerate module imports using Process.findModuleByName and module.enumerateImports(), processes the results, applies optional filtering, and returns a list of imports with details like name, module, type, and address.@mcp.tool() def get_module_imports(module_name: str, filter_name: str = "") -> Dict[str, Any]: """ List imports for a module. Args: module_name: Name of the module filter_name: Optional filter for import names Returns: List of imports with name, module, and address. """ global _session if not _session.is_attached(): return {"error": "Not attached. Use attach() first."} try: script_code = f""" var module = Process.findModuleByName("{module_name}"); if (module) {{ var imports = module.enumerateImports(); send(JSON.stringify(imports.map(function(i) {{ return {{name: i.name, module: i.module, type: i.type, address: i.address ? i.address.toString() : null}}; }}))); }} else {{ send(JSON.stringify([])); }} """ result_data = [] def on_message(message, data): if message['type'] == 'send': result_data.append(message['payload']) script = _session.session.create_script(script_code) script.on('message', on_message) script.load() script.unload() import json imports = json.loads(result_data[0]) if result_data else [] if filter_name: imports = [i for i in imports if filter_name.lower() in i['name'].lower()] return {"module": module_name, "count": len(imports), "imports": imports[:100]} except Exception as e: