import std.file, std.stdio; void toggleCrypt(ubyte[] data) { static const char[] xor = x"A593F7B56C635B4AA60AA8E0B3B959D21047FA4ACFD43D0744AC4B5E026D587F066D7AFA3156BB82FC136DF067F0BD8B32FC8B8650B279CA99D942F6BFA94EA4832F83EF28F35D3228D7411127420EBE257EF675F75F8C49F8261D23FCA4440885A3B99A3A816AE2941ECD4CDBF974F35195E21FAD229D0CCA5984EEA1A86331758FC5054D4A091AA7B0B8A86B5B16B31E09F78D5842D49C783B1E5D96FBD2A9B9BC4E384A946363C954AB2EBFB11D85F4A1DEC6E1085A806894947BC3E5BAF8BBF2FD391AA8A04462D44EE5BF42B0F23B263FD231BC5740042C8D4D10B043A4E1F87A12A3CEE746DAF648D55458F8815B61C1BA2FA6F265B3CAB2DD66A2943795986CCBCF4D60EF9A83420664391DBABC170D85C20D5476DC38AB32AB05D6393E987B6A856F34CA0842E381D82E4625C613CB3BD43BA5FBE93C1F54C91F303043C150F9AD7A8B5C8DFDD4"; for (int n = 0; n < data.length; n++) data[n] ^= xor[n % xor.length]; } void toggleCryptFile(char[] name) { ubyte[] data = cast(ubyte[])read(name); toggleCrypt(data); write(name, data); } int main(char[][] args) { if (args.length < 2) { writefln("toggle "); } else { toggleCryptFile(args[1]); } return 0; }