#include #include #include #include #include int main () { RC4_KEY key; char *cipher = "\x4a\x46\x35\x0f\xf5\x6f\x40\xe2\xfe\xa0\xfa\x41\xf8\xab\xd1\xad\xa2\x6a\xd3\x6d\x40\x8c\x32\x0d\x81\x50\xe2\x63\x5a\x86\x1c\x32\xf4\x79\x28\xa9\x8f\xc4\xb7\xc3\x42\xfd\x0d\x9a\x01\x3e\xab\xbe\xc0\x0f\xf6\x4b\x82\x35\x06\x1b\xb2\x8a\x42\x44\x0d\xb5\x62\x25\xf9"; char *orig = "Snooping around in the bytecode, huh? Right? Well, have fun :)\n"; unsigned char *passbuf[1024]; unsigned char *encrk[1024]; unsigned char *decrk; unsigned long rklen = 1; int i; // passbuf[0] = 1; // encrk[0] = cipher[0]; for (i=0;i<256;i++) { printf("RC4_set_key(&key, %d, \"%s\");",strlen(passbuf), passbuf); RC4_set_key(&key, strlen(passbuf), &passbuf); printf("RC4(&key, %d, \"%s\", decrk);", rklen, encrk); RC4(&key, rklen, encrk, decrk); printf("%s\n", &passbuf[0]); if (decrk[0] == orig[0]) { printf("%d\n%c\n", i, i); } passbuf[0]++; } // printf("%s\n%s\n",cipher, orig); }