If anyone wants to actually run this, here ya go:
#include <stdio.h> short i=0;long b[]={1712,6400 ,3668,14961,00116, 13172,10368,41600, 12764,9443,112,12544,15092,11219,116,8576,8832 ,12764,9461,99,10823,17,15092,11219,99,6103,14915, 69,1721,10190,12771,10065,16462,13172,10368,11776, 14545,10460,10063,99,12544,14434,16401,16000,8654, 12764,13680,10848,9204,113,10441,14306,9344,12404, 32869,42996,12288,141129,12672,11234,87,10086, 12655,99,22487,14434,79,10083,12750,10368, 10086,14929,79,10868,14464,12357};long n=9147811012615426336;long main(){ if(i<0230)printf("%c",(char)(( 0100&b[i++>>1]>>(i--&0x1)* 007)+((n>>(b[i>>001]>> 7*(0b1&01-i++)))&1 *main(111)))); return 69- 0b0110 ;}
Bonus points if you can deobfuscate it!
64 0 ReplyIf your love letter isn't given in the form of highly obfuscated C, is it really a love letter? I don't know, but what I do know is that I love you! <3
43 0 ReplyI don't know if this will work or even compile, but I feel like I'm pretty close.
long main () { char output; unsigned char shift; long temp; if (i < 152) { shift = (i & 1) * 7; temp = b[i >> 1] >> shift; i++; output = (char)(64 & temp); output += (char)((n >> (temp & 63)) & main()); printf("%c", output); } return 63; }
8 0 ReplyHere's it with some amount of de-obfuscation:
#include <stdio.h> short i = 0; const long b[] = { 0xd60, 0x3200, 0x1ca8, 0x74e2, 0x9c, 0x66e8, 0x5100, 0x14500, 0x63b8, 0x49c6, 0xe0, 0x6200, 0x75e8, 0x57a6, 0xe8, 0x4300, 0x4500, 0x63b8, 0x49ea, 0xc6, 0x548e, 0x22, 0x75e8, 0x57a6, 0xc6, 0x2fae, 0x7486, 0x8a, 0xd72, 0x4f9c, 0x63c6, 0x4ea2, 0x809c, 0x66e8, 0x5100, 0x5c00, 0x71a2, 0x51b8, 0x4e9e, 0xc6, 0x6200, 0x70c4, 0x8022, 0x7d00, 0x439c, 0x63b8, 0x6ae0, 0x54c0, 0x47e8, 0xe2, 0x5192, 0x6fc4, 0x4900, 0x60e8, 0x100ca, 0x14fe8, 0x6000, 0x44e92, 0x6300, 0x57c4, 0xae, 0x4ecc, 0x62de, 0xc6, 0xafae, 0x70c4, 0x9e, 0x4ec6, 0x639c, 0x5100, 0x4ecc, 0x74a2, 0x9e, 0x54e8, 0x7100, 0x608a }; const long n = 9147811012615426336; long main () { if (i < 152) { char shifter; if (i % 2 == 0) { shifter = 8; } else { shifter = 1; } char adder1 = (b[i >> 1] >> shifter) & 64; char adder2 = (n >> (b[i >> 1] >> shifter)) & 63; char to_print = (char)adder1 + adder2; i++; main (); printf ("%c", to_print); } return 63; }
Needless to say, the return value doesn't matter any more. So you can change it to
0
or69
depending upon your preferences.9 0 ReplySome kind of Caesar cipher you made?
fIy uo rolevl teet rsi'n tigev nnit ehf ro mfoh gilh yboufcstadeC ,sii terlayla l vo eelttre ? Iod'n tnkwo ,ub thwtaI d onkwoi shttaI l vo eoy!u< 3%
1 0 Reply
If there was ever a time to replace this Drake format with the Geordi LaForge alternative, this was it.
35 2 ReplyOn it.
69 0 Reply
return 69
; }22 1 ReplyAs a rust fan I can say:
Don't be sorry, cause the code is in C!
Be sorry for what you did in C!15 0 ReplyI mean, of course it wouldn't be fair to expect everyone to be migrated over yet, but at some point it's going to be an obsolete language. Memory unsafety is a pretty nasty quirk; just one that was previously unavoidable, as far as I know.
2 3 Replyat some point it’s going to be an obsolete language.
Yeah, COBOL went the way of the dodo too.
6 0 Reply
The code is even wink at u
7 0 Reply