Skip to content
forked from ReverseApple/gxpc

Sniff XPC communication using Frida and Go

License

Notifications You must be signed in to change notification settings

t0rr3sp3dr0/gxpc

 
 

Repository files navigation

gxpc

Tool inspired by xpcspy tool to monitor XPC traffic.

gxpc recursively parses types of xpc_object_t as well as unmarshalling the data back to Go types.

Installation

Download one of the prebuilt binaries for macOS(x86_64 or arm64) from here or do it manually as described below.

  • Follow the instructions for devkit documented here
  • Run go install github.com/ReverseApple/gxpc@latest

Usage

XPC sniffer

Usage:
  gxpc [spawn_args] [flags]

Flags:
  -b, --blacklist strings    blacklist connection by name
      --blacklistp strings   blacklist connection by PID
  -f, --file string          spawn the file
  -h, --help                 help for gxpc
  -i, --id string            connect to device with ID
  -l, --list                 list available devices
  -n, --name string          process name
  -o, --output string        save output to this file
  -p, --pid int              PID of wanted process (default -1)
  -r, --remote string        connect to device at IP address
  -w, --whitelist strings    whitelist connection by name
      --whitelistp strings   whitelist connection by PID

If you do not pass -i flag, default device is USB.

If you want to spawn a file/binary, pass the -f that points to the file/binary you want to spawn along with the arguments.

  • gxpc -i local -f /bin/cat /tmp/somefile - without some specific flags to the spawned binary
  • gxpc -i local -f /path/to/binary -- -a -b "TEST" - with some specific flags to the spawned binary

Additionally, you can filter on connection names or PIDs, if you pass both filters (name and PID), it will take only name. --whitelist and --whitelistp along with the --blacklist and --blacklistp accepts the list, such as --blacklistp "89,32,41" which will blacklist the ports 89, 32 and 41.

Running gxpc

Running against Signal

About

Sniff XPC communication using Frida and Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 51.5%
  • JavaScript 48.5%