Skip to content

Instantly share code, notes, and snippets.

View throwaway96's full-sized avatar

throwaway96

View GitHub Profile
@throwaway96
throwaway96 / webos-notes.md
Last active August 28, 2026 05:46
Notes about webOS stuff

Debugging apps (inspect)

Inspectability

Developer mode apps (those installed in /media/developer) are inspectable by default. Other apps (e.g., from the LG Content Store) are not inspectable by default, but you can add "inspectable": true to their appinfo.json to enable it. Debugging system apps (i.e., those in /usr/palm/applications) may require a special flag.

Ports

The developer mode app debugger listens on port 9998.

System service and system app debugging uses ports 5885 and 9999, respectively. However, debugging for these is not normally enabled.

Inspecting an app

@throwaway96
throwaway96 / dpf720-notes.md
Last active August 9, 2026 13:52
Notes on Digital Decor DPF720 digital picture frame

Introduction

The DPF720 is a digital picture frame with "Digital Decor" branding. It is based on an MStar MSPD21D SoC. The example I obtained did not come in the original box, but I believe I received all important components. Here is an (open box?) Amazon listing for it. This eBay listing (archive) seems to show the box.

Conventions

Unless otherwise noted: left/right are when viewing the assembled device from the front (i.e., looking at the screen); top/bottom of the board refers to its orientation when the device is assembled and upright.

Label

Contents

The label on the bottom refers to the device as "7 In. Ultra Slim Digital Picture Frame". The first few lines under that are:

@smx-smx
smx-smx / nand_extract.php
Last active November 1, 2023 20:38
nandsim helper
<?php
function kilo($n){ return $n * 1024; }
function mega($n){ return kilo($n) * 1024; }
function to_cmdline(array $cmd){
return implode(' ', array_map('escapeshellarg', $cmd));
}
function make_pipe(array ...$cmds){
$cmdlines = array_map('to_cmdline', $cmds);
@throwaway96
throwaway96 / lg-hostdiag.md
Created November 2, 2023 22:17
Instructions on how to open the LG Host Diagnostics (HostDiag) screen

HostDiag

The Host Diagnostics (HostDiag) screen shows various system information. It has been present on LG TVs since long before webOS. While it generally isn't very useful, it could come in handy in certain situations.

Opening

In general, to open HostDiag you must highlight "Channel Tuning" in the menu and press the "1" button 5 times. The menu can be opened with the menu button on the remote, but the steps after that vary a bit across webOS versions. Note that

webOS 6

@smx-smx
smx-smx / ffi.patch
Created November 28, 2023 01:29
PHP FFI Thread Safe patch
diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c
index 9be5ac3405..81ac091750 100644
--- a/ext/ffi/ffi.c
+++ b/ext/ffi/ffi.c
@@ -922,9 +922,11 @@ static void zend_ffi_callback_hash_dtor(zval *zv) /* {{{ */
}
/* }}} */
-static void zend_ffi_callback_trampoline(ffi_cif* cif, void* ret, void** args, void* data) /* {{{ */
-{
@throwaway96
throwaway96 / 50-customca
Last active October 8, 2024 19:54 — forked from Informatic/50-customca
Let's Encrypt fix for webOS. Tested on 3.8 only, put this into /var/lib/webosbrew/init.d and you should be probably done.
#!/bin/sh
# Directory to store overlays in (one directory structure is created per overlay configured down below)
OVERLAY_BASE=/var/lib/webosbrew/customca
overlay() {
set -e
overlay_id="$(echo $1 | sed 's;/;__;g')"
unset TARGET SOURCE FSTYPE OPTIONS
eval $(findmnt -P $1)
@throwaway96
throwaway96 / _webos-scripts.md
Last active September 8, 2024 17:11
Little webOS scripts

This is a collection of a few of my smaller webOS scripts.

License: AGPL v3 or later

@throwaway96
throwaway96 / setup-cert-overlay.sh
Last active August 18, 2026 17:30
Script to add a certificate to various stores on webOS (probably 3.5+ only)
#!/bin/sh
# by throwaway96
# licensed under AGPLv3+
# https://gist.github.com/throwaway96/bb31a17562eec4d8325020dee8c7e6b5
cert=/home/root/something.crt
name=lol_hax
file="${name}.pem"
tmp="/tmp/tempcert.pem.${$}"
@throwaway96
throwaway96 / wta.md
Last active December 21, 2025 04:13
LG WTA backdoor/vulnerability guide

WTA backdoor/vulnerability

Overview

There is a vulnerability/backdoor in webOS 5+ that allows you to easily run arbitrary commands as root during the boot process. The easiest way to exploit it simply involves putting a file on a USB drive and having it connected to your TV while it boots. There are two other methods that are more complex and require additional exploits.

@throwaway96
throwaway96 / localdb-rm-triggers.md
Created January 30, 2024 06:34
How to fix MSSQL LocalDB "Logon failed ... due to trigger execution" error

Fixing a Microsoft SQL Server LocalDB trigger error

This is a note on how I fixed a relatively minor issue with Microsoft SQL Server Express LocalDB. The solution was a bit difficult to find. Therefore I'm writing this in the hope that it will be found by other people who have the same problem and Google the error message text. This is based on a StackOverflow answer by Yennefer. I've added a bit more detail and an alternative way to delete the triggers. I'm leaving out most of my mistakes, several dead ends, etc.

I'm certainly no expert on anything in this document. I'm just sharing what worked for me.

The error

When I opened Microsoft's Volume Activation Management Tool (VAMT) and tried to connect to my LocalDB instance as usual, I got this error: