This folder contains a curated set of jailed Frida scripts used within the DroidGround platform. These scripts provide limited, safe dynamic instrumentation capabilities to challenge participants without granting them full control over the Frida runtime.
Frida is an incredibly powerful dynamic instrumentation toolkit, but this power also makes it risky in a competitive or educational environment. Unrestricted Frida access can lead to:
- Challenge bypassing by directly reading memory or intercepting flag values
- Sandbox escape attempts or tampering with the platform
- Unintended crashes due to poorly written or malicious scripts
To address this, we designed a jailed Frida mode that:
- Offers predefined, challenge-author-approved scripts
- Allows users to run scripts with controlled arguments
- Prevents abuse while still enabling deep learning and interactivity
All Frida scripts in this folder must follow a common interface to be compatible with the platform.
- Place your script in this folder:
library/ - Add an entry in
library.jsonto register it (see below)
Each script must export exactly two functions using Frida’s RPC interface:
rpc.exports = {
run(args) {
// Your script logic here
},
schema() {
return {
type: "object",
properties: {
// Define expected args here
},
required: [
/* required arg names */
],
additionalProperties: false,
};
},
};run: Therunfunction must only allow one argument (useargsas convention) which should be an Object containing all the required fields.schema: Theschemafunction should either returnnull(if no arguments are needed) or the JSON schema (ajvformat) that matches the expected args.
This file indexes all scripts in the library so the platform can present them in the UI.
[
{
"filename": "enumClasses.js",
"description": "Enumerate all Java classes"
},
{
"filename": "enumMethods.js",
"description": "Enumerate all methods declared in a Java class"
}
]When adding a new script:
- Save your script to the
library/folder. - Export
run(args)andschema(). - Add an entry to
library.jsonwith a clear description. - Test your script on a sample app to verify it runs and validates correctly.