The LED curtain high-level logic (beyond the BLE headers and fragmentation) is part of the Flutter app code, compiled into a 78MB resources/lib/arm64-v8a/libapp.so. There are tools to reverse-engineer Flutter, but I haven't done that before, so this is a task for another night.
So far we have primitives to color the whole curtain or assign one color to a set of pixels, but no image uploads or access to FW upgrades.