Utilities
This section documents Lichee-Jack core utilities, including their purpose, behavior, and typical usage patterns. All utility source code is hosted on GitHub:
- Repository:
github.com/KaliAssistant/Lichee-Jack-utils
These tools are designed to be:
- Lightweight (shell / small native helpers)
- Scriptable (payload-friendly)
- Safe for embedded usage
- Closely integrated with Lichee-Jack hardware features
LED
One-time or background control utility for RGB LED effects. Primarily used as a wrapper daemon for shmled.
Typical use cases:
- Status indication (boot, error, network)
- Payload visual feedback
AUDIOCTL
Speaker and microphone volume control helper.
Features:
- Speaker volume adjustment
- Microphone gain control
- Safe default limits for onboard amplifier
BATTERY
Battery voltage and status reader based on SAR ADC.
Features:
- Raw voltage readout
- Percentage estimation
- Low-battery threshold detection
NETMODE
Network mode controller for end0.
Supports:
- NetworkManager (nmcli) profiles
- Custom static / scripted configurations
Typical use cases:
- Switching between attack / management networks
- Fast reconfiguration during payload execution
RUN
Payload execution controller.
Features:
- Execute MOD1 / MOD2 payloads
- Run custom binaries or scripts
- Unified execution entry point
SWITCH
Reads the hardware mode switch via the mod-switch kernel driver.
Features:
- Stable state detection
- Script-friendly output
- Used by jackstart and payload logic
UDHCPCTL
Helper for managing multiple udhcpd instances.
Implementation:
- Uses systemd template units
- Service format:
udhcpd@<unit>.service
Typical use cases:
- USB gadget DHCP
- Isolated payload networks
UDISKCTL
USB disk image mount helper.
Features:
- Loop-device based image mounting
- Safe mount / unmount handling
- Payload-friendly storage access
USBMODE
USB gadget mode controller.
Controls USB gadget configurations via:
- systemd units:
gt@<mode>.service
Supported modes typically include:
- ECM / RNDIS
- HID
- Mass Storage
USBNET
USB network interface helper for usb0.
Features:
- IP assignment
- Link state monitoring
- Integration with USBMODE and UDHCPCTL
WIFIMODE
Wi-Fi interface mode switcher.
Supports:
- Client / AP mode switching
- Fast role changes for payload execution
jackstart
Core Lichee-Jack system daemon.
Responsibilities:
- Early boot initialization
- Mode switch handling
- Automatic utility coordination
- Payload dispatch
This utilities layer forms the runtime backbone of Lichee-Jack. Most higher-level behaviors are composed by chaining these tools together.