neat little fact about CRCs and stream ciphers: if you append a CRC to a message, you always get the same CRC.
if you encrypt the resulting message with a stream cipher, the CRC of the message is cancelled out so you essentially get the CRC of the keystream. as a result, if you encrypt 2 different files of same length with CRC appended with the same (unsalted) key, you get the same CRC on the encrypted file
Content warning:spoiler (aoc 2024 day 22)
my solution for today's aoc part 1 (i precalculated everything)
22.12.2024 13:07Content warning:spoiler (aoc 2024 day 22)my solution for today's aoc part 1 (i precalculated everything)current status: regular wifi dropouts, except when running tcpdump on the wifi interface, in which case it works just fine
28.10.2024 02:10current status: regular wifi dropouts, except when running tcpdump on the wifi interface, in which case it works just fineyay graphs
24.9.2024 17:46yay graphsfinally bought binary ninja, let's see how good i can bend it to 8051s pecularities
23.9.2024 14:10finally bought binary ninja, let's see how good i can bend it to 8051s pecularitiesContent warning:explanation (spoiler)
the function first gets the return address of the caller but uses it to read 3 bytes after the call instruction, which are not actually instructions but the jump target address and bank. it then pushes the original bank value and the target address, and jumps to the target address using the `ret`. the original bank is restored using a special return function which picks the remaining byte from stack
26.6.2024 17:13Content warning:explanation (spoiler)the function first gets the return address of the caller but uses it to read 3 bytes after the call...found a function for banked function calls i haven't seen before (note how it pops before it pushes)
26.6.2024 17:08found a function for banked function calls i haven't seen before (note how it pops before it pushes)i got myself a new desktop PC, so I looked at the bios and of course there is 8051 firmware inside it
26.6.2024 01:39i got myself a new desktop PC, so I looked at the bios and of course there is 8051 firmware inside itcreated a python script that uses delsum to find checksummed chunks in an unknown file format by looking at all checksummed regions and checking for the most common offset between the end of one checksummed region and the start of the next.
using png as an example, it finds that it uses crc-32, with a gap of 8 bytes between checksummed chunks (because of the 4 byte checksum field and the 4 byte length field)
(also just made another release to avoid generating the wfa2 bindings at build time so that cargo install doesn't fail if you don't have libclang installed)
21.4.2024 08:33(also just made another release to avoid generating the wfa2 bindings at build time so that cargo install doesn't fail if you don't...i've released a new biodiff version, with support for the WFA2 library (which has the biwfa algorithm that does alignment with linear memory usage) and a new --print option
https://github.com/8051Enthusiast/biodiff/releases/tag/v1.2.0
20.4.2024 12:42i've released a new biodiff version, with support for the WFA2 library (which has the biwfa algorithm that does alignment with linear...large language volume manager (llvm), for managing large volumes of programming languages
13.4.2024 20:56large language volume manager (llvm), for managing large volumes of programming languagesi apparently got someone to cite the name "8051Enthusiast" in a published paper
30.3.2024 01:58i apparently got someone to cite the name "8051Enthusiast" in a published paperbtw, apparently you can just mmap a whole 1tb hdd into your process
29.12.2023 17:44btw, apparently you can just mmap a whole 1tb hdd into your processhad some fun making a (terrible) programming language for parsing binary data and a visualizer for its output (left parses the gpt table for a hdd, right a fat32 partition)
29.12.2023 17:31had some fun making a (terrible) programming language for parsing binary data and a visualizer for its output (left parses the gpt table for...might post more again, but also might not, i really do not know!
29.12.2023 16:11might post more again, but also might not, i really do not know!