4 ms·
https://www.ee.ryerson.ca/~elf/hack/recovery.html https://www.ee.ryerson.ca/~elf/hack/recovery.html
by nzmsv 8y ago
https://www.ee.ryerson.ca/~elf/hack/recovery.html https://www.ee.ryerson.ca/~elf/hack/recovery.html
- deathanatos 8y agoI had to do a sort of version of this on a machine on mine once. Its hard disk was failing, and it couldn't I/O half of the system-critical binaries, but it did still have some in disk cache. It doubled as my network's SSH gateway/proxy for when I'm coming from an IPv4-only network, as my home only gets a single IPv4 address. > I had a handy program around (doesn't everybody?) for converting ASCII hex to binary, and the output of /usr/bin/sum tallied with our original binary. I copied busybox's nc onto it (needed for the ssh jump); had to copy to /run as / was unwritable due to the disk failure. Now, scp no longer ran, so "copy" was a Python script to turn the binary into a printf command, which is a shell built-in and can write arbitrary binary. (If you ever get into a jam like this, busybox's utilities are very useful.) > But hang on---how do you set execute permission without /bin/chmod? A few seconds thought (which as usual, lasted a couple of minutes) suggested that we write the binary on top of an already existing binary, owned by me...problem solved. I think umask'ing correctly prior to a printf should work nowadays, no? (IDK about in the author's time.) Thankfully in my case, chmod was in disk cache still.
- bsder 8y agoTHAT'S IT! Thank you for finding that.