frida-setup-checklist

Prepare and verify a Frida environment, including host tools, Android frida-server, iOS setup, USB or remote transport, version matching, and smoke tests.

SKILL.md

GitHub

Frida Setup Checklist

Use this skill before writing hooks or when the environment is unknown.

Host Checks

python3 -m pip show frida frida-tools
frida --version
frida-ls-devices
frida-ps -Uai

If frida is missing, install user-local tools unless the project documents another path:

python3 -m pip install --user --upgrade frida-tools

Android Checks

adb devices
adb shell getprop ro.product.cpu.abi
adb shell getprop ro.build.version.release
adb shell id
adb shell /data/local/tmp/frida-server --version
frida-ps -Uai

Match host frida --version to the device frida-server major/minor version. If versions differ, fix that before debugging hooks.

iOS Checks

frida-ls-devices
frida-ps -Uai
frida -U -f com.example.app -l smoke.js --no-pause

Use a smoke script before loading real hooks:

console.log("platform", Process.platform, "arch", Process.arch);
console.log("ObjC.available", ObjC.available);

Minimal Smoke Scripts

Android:

console.log("platform", Process.platform, "arch", Process.arch);
console.log("Java.available", Java.available);
Java.perform(() => console.log("Java.perform ok"));

Native-only target:

console.log(Process.id, Process.arch, Process.pointerSize);
for (const m of Process.enumerateModules().slice(0, 10)) {
  console.log(m.name, m.base, m.size);
}

Proof To Report

  • Exact host Frida version and remote server/Gadget version.
  • Device, OS version, architecture, package/bundle/process id.
  • Attach or spawn command used.
  • Smoke script output proving Java, ObjC, or native module access.

References