-
Notifications
You must be signed in to change notification settings - Fork 935
Agent Development Environment
This article aims to explain how to configure a development environment for the Frida agent used in objection.
Although objection is built using many languages, TypeScript is used for the Frida agent. Before the agent can be used in objection, it has to go through a compilation phase to translate the TypeScript to an ES5 compatible JavaScript agent.
To start off with configuring a development environment for the Frida agent, ensure that you have both the node and npm commands available. Both of there should be installable using your Operating Systems package manager. Installing the latest versions of both these commands is also recommended. For more detailed instructions on how to install these, please refer to documentation relevant to your Operating System.
With the node and npm commands available, the following steps should get you up and running, building the final agent.js.
-
cdto theobjection/agentdirectory. - Run the
npm installcommand to grab all of the gazillion dependencies needed. This command should drop the dependencies in anode_modulesfolder in the current directory. - Depending on your version of
npm, thenpm run buildcommand may automatically run. If not, runnpm run buildto generate theagent.jsfrom the current TypeScript source code.
Running the npm run build command will fire off a one shot compilation of the agent. If you are planning on developing for a while then you may want to consider the npm run watch command. This command will watch the filesystem for changes (such as when you save a file) and automatically fire off a new compilation run for you.