LostXOR to Programmer Humor@programming.dev • 3 months agoThe best love letters are written in C (apologies to the Rust fans)fedia.ioimagemessage-square17fedilinkarrow-up1225arrow-down15
arrow-up1220arrow-down1imageThe best love letters are written in C (apologies to the Rust fans)fedia.ioLostXOR to Programmer Humor@programming.dev • 3 months agomessage-square17fedilink
minus-square@ulternolinkEnglish5•2 months agoAnd more de-obf: #include <stdio.h> const char addarr1[] = { 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0 }; const char addarr2[] = { 0x9, 0x26, 0x20, 0x39, 0x2f, 0x35, 0x32, 0x20, 0x2c, 0x2f, 0x36, 0x25, 0x20, 0x2c, 0x25, 0x34, 0x34, 0x25, 0x32, 0x20, 0x29, 0x33, 0x2e, 0x27, 0x34, 0x20, 0x27, 0x29, 0x36, 0x25, 0x2e, 0x20, 0x29, 0x2e, 0x20, 0x34, 0x28, 0x25, 0x20, 0x26, 0x2f, 0x32, 0x2d, 0x20, 0x2f, 0x26, 0x20, 0x28, 0x29, 0x27, 0x28, 0x2c, 0x39, 0x20, 0x2f, 0x22, 0x26, 0x35, 0x33, 0x23, 0x21, 0x34, 0x25, 0x24, 0x20, 0x3, 0x2c, 0x20, 0x29, 0x33, 0x20, 0x29, 0x34, 0x20, 0x32, 0x25, 0x21, 0x2c, 0x2c, 0x39, 0x20, 0x21, 0x20, 0x2c, 0x2f, 0x36, 0x25, 0x20, 0x2c, 0x25, 0x34, 0x34, 0x25, 0x32, 0x3f, 0xa, 0x9, 0x20, 0x24, 0x2f, 0x2e, 0x27, 0x34, 0x20, 0x2b, 0x2e, 0x2f, 0x37, 0x2c, 0x20, 0x22, 0x35, 0x34, 0x20, 0x37, 0x28, 0x21, 0x34, 0x20, 0x9, 0x20, 0x24, 0x2f, 0x20, 0x2b, 0x2e, 0x2f, 0x37, 0x20, 0x29, 0x33, 0x20, 0x34, 0x28, 0x21, 0x34, 0x20, 0x9, 0x20, 0x2c, 0x2f, 0x36, 0x25, 0x20, 0x39, 0x2f, 0x35, 0x21, 0x20, 0x3c, 0x33, 0xa }; int main () { for (int i = 0; i < 152; i++) { char adder1 = addarr1[i]; char adder2 = addarr2[i]; char to_print = (char)adder1 + adder2; printf ("%c", to_print); } return 63; } I guess I should have kept the recursion and straightened it out in the next step, but now that it’s done… The next step will just have an array of the characters that would be printed, so I’ll leave it here.
And more de-obf:
#include <stdio.h> const char addarr1[] = { 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x0, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x0, 0x40, 0x40, 0x40, 0x40, 0x0, 0x40, 0x40, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0 }; const char addarr2[] = { 0x9, 0x26, 0x20, 0x39, 0x2f, 0x35, 0x32, 0x20, 0x2c, 0x2f, 0x36, 0x25, 0x20, 0x2c, 0x25, 0x34, 0x34, 0x25, 0x32, 0x20, 0x29, 0x33, 0x2e, 0x27, 0x34, 0x20, 0x27, 0x29, 0x36, 0x25, 0x2e, 0x20, 0x29, 0x2e, 0x20, 0x34, 0x28, 0x25, 0x20, 0x26, 0x2f, 0x32, 0x2d, 0x20, 0x2f, 0x26, 0x20, 0x28, 0x29, 0x27, 0x28, 0x2c, 0x39, 0x20, 0x2f, 0x22, 0x26, 0x35, 0x33, 0x23, 0x21, 0x34, 0x25, 0x24, 0x20, 0x3, 0x2c, 0x20, 0x29, 0x33, 0x20, 0x29, 0x34, 0x20, 0x32, 0x25, 0x21, 0x2c, 0x2c, 0x39, 0x20, 0x21, 0x20, 0x2c, 0x2f, 0x36, 0x25, 0x20, 0x2c, 0x25, 0x34, 0x34, 0x25, 0x32, 0x3f, 0xa, 0x9, 0x20, 0x24, 0x2f, 0x2e, 0x27, 0x34, 0x20, 0x2b, 0x2e, 0x2f, 0x37, 0x2c, 0x20, 0x22, 0x35, 0x34, 0x20, 0x37, 0x28, 0x21, 0x34, 0x20, 0x9, 0x20, 0x24, 0x2f, 0x20, 0x2b, 0x2e, 0x2f, 0x37, 0x20, 0x29, 0x33, 0x20, 0x34, 0x28, 0x21, 0x34, 0x20, 0x9, 0x20, 0x2c, 0x2f, 0x36, 0x25, 0x20, 0x39, 0x2f, 0x35, 0x21, 0x20, 0x3c, 0x33, 0xa }; int main () { for (int i = 0; i < 152; i++) { char adder1 = addarr1[i]; char adder2 = addarr2[i]; char to_print = (char)adder1 + adder2; printf ("%c", to_print); } return 63; }
I guess I should have kept the recursion and straightened it out in the next step, but now that it’s done…
The next step will just have an array of the characters that would be printed, so I’ll leave it here.