This page contains common terms used in webOS hacking community and other various uncategorized information...

NetCast / LGNC / NC
LG's "legacy" Linux-based Smart TV platform, original target of OpenLGTV research.
WAM / WebAppMgr
Service responsible for running "web apps" on webOS - essentially a wrapper around WebKit/Chrome/Blink rendering engine customized for running webOS apps.
Developer Mode / devmode
Mode in which unsigned applications can be installed onto the system. Developer Mode is enabled by creating /var/luna/preferences/devmode_enabled path.
This can also mean an official "Developer Mode" application that provides limited SSH shell used for development on non-rooted devices.
Application Paths
webOS applications are stored in:
  • /usr/palm/applications (default system apps),
  • /mnt/ot*cabi/usr/palm/applications (per-region preloaded apps),
  • /media/cryptofs/apps/usr/palm/applications (content store apps),
  • /media/developer/apps/usr/palm/application ("homebrew"/developer mode apps),
  • /media/system/apps/usr/palm/applications (on webOS 4.x+, a path where system application updates are installed)
Services are processes running "in the background" exposing methods/endpoints on Luna bus. The only officially supported technology for third-party app services development in webOS is NodeJS, however unofficially, with several quirks, native code can be used as well.
Elevated Service / Service Elevation
A non-system (homebrew) service running as root, with Luna bus permission limitations lifted. elevate-service shipped with Homebrew Channel can be used to patch up system permissions for a specific homebrew service by calling:
An encryption/authentication/DRM scheme used by LG for Content Store apps. Applications installed in /media/cryptofs need to contain a file that is NCG-encrypted to be launchable.
An always-on microprocessor responsible for power-on, watchdog, IR remote handling and other similar TV features.
Before webOS 5.x a process responsible for various TV-related functionalities. (screenshot capture, micom communication, input state monitoring...) Naming comes from main NetCast binary. Since webOS 5.x all tvservice functionality has been extracted into separate services. (eg. micomservice)
LG Service Delivery Platform - "smart services" backend API, responsible for Content Store communication among others. This is also a service that is used for TV time synchronisation. Various mock implementations of that service has been released to keep time synchronization working properly: wisq/lgtv-sdp, zopieux/lgtv-tbc...
TV-side daemon responsible for communicating with SDP API.
TV-side "Diagnostics" daemon responsible for sending crash logs and system logs to LGs backend.
SNU / NSU / update
Networked System Update service. Queries LGs backend services for available firmware updates. Firmware update packages are signed for a specific use - ie. a package downloaded from SNU can't be used when provided on a USB drive and vice versa.
SSAP / LG Connect Apps / Thinq API
WebSocket-based API exposed on TCP port 3000/3001 by the TV, granting limited access to Luna bus. Commonly used by home automation projects. Clients for this protocol are available in various languages and technologies, eg: NodeJS, Python, Web...
Surface Manager
Wayland compositor used by webOS - responsible for rendering of various system overlays (eg. volume bar, cursor) and (before webOS 4.x) Home Screen.
Magic Remote Control Unit - LG's Bluetooth Low Energy-based remote control featuring IMU-based on-screen cursor control.
webOS root exploit released in 2019 leveraging misconfigured /dev/mem permissions in app jails. See official xda-developers thread. Underlying bug has been patched.
A one-click exploit released in early 2021. See official RootMyTV README.