looking at another IP camera firmware and their ".bin" firmware format is just a zip archive with like u-boot.bin.img, uImage.img, and so on
very convenient thank you 🙏
looking at another IP camera firmware and their ".bin" firmware format is just a zip archive with like u-boot.bin.img, uImage.img, and so on
very convenient thank you 🙏
we have shell scripts at home
shell scripts at home:
it shortens the translation file names to "TradChinese" and "SimpChinese". phrasing
fascinatingly, "English" and "ChineseEnglish" are separate locales!
*looks at PRODUCT_NAME string* ah. i hate it when my XM550_85X50T_DSSIA_PEDIA_FD_None_NetIPONVIFHIK_StarIRDoubleLightWarmLightAutoIR_JFCH_General_General_SQUASHFS_V1.000.00.0.R breaks and i have to RMA it
for some incomprehensible reason, this IP camera uses "Squirrel" http://www.squirrel-lang.org/, a programming language used essentially exclusively in the Source engine games
it looks like they implemented motor control (zoom/panning) and RS485 comms in this language. there's functions that compute checksums and everything
the partitions are interesting
they're "Oops! All uImage!!"
every single one of them is in the u-boot container. including u-boot itself. and its environment
the cause of this becomes clear if you look at the u-boot environment: it's because of how it flashes itself
@alwayscurious i'm too eepy for VMs
so apparently the reason it tried to get me to downgrade the browser is because the interface to the IP camera is built as an ActiveX component and Chrome 44 is the last version which supported them
i deobfuscated the JavaScript and it's ... literally just MooTools, an ancient JavaScript framework. think jQuery or something.
so yes, literally this: https://mastodon.social/@easrng@pleroma.envs.net/114334884311562415
the reason it reboots, by the way, is that under qemu-user, calling the reboot syscall straight up just reboots your machine
(under qemu-system it reboots the VM, of course)
@whitequark I’m a bit suprised you aren’t doing this in a VM.
?????????
why does it want me to downgrade my browser so badly lmfao
who built this
what is this malware-ass javascript
what is going on lmfao
i don't believe it's _related_, but shortly after opening that page it hung Chrome and then when i ran `sudo dmesg` my laptop hard-rebooted for seemingly no reason
i have the kernel save oops logs to pstore but it didn't do so, so it wasn't a kernel panic at least (or if it was, it panicked too hard to be able to use EFI runtime services...)
MYPING
it was really, *really* unhappy about not having /dev/mem, so i did `touch dev/mem; truncate -s 4GiB dev/mem` and now it's happy
it finally booted enough to bring up an httpd and this is what it presented me with
confidence-inspiring!
i'm sorry but what the fuck?
the main binary of this IP camera works surprisingly well under qemu-arm-static, especially once after i gave it /dev/null in the chroot it lives in
it's really unhappy about being unable to open /dev/mem (lol no) and /dev/isp (not on my laptop SoC for sure)
@whitequark eepy?
@alwayscurious as in "sleepy"
I dislike remembering qemu options for networking
@whitequark Ah, that sounds like a job for a script or a premade VM that is ready to go.
@alwayscurious i'm too eepy for that too
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.