⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xor.c

📁 very comprehensive example, windows WDM driver development ex The use of drive technology can s
💻 C
字号:
/* Generic xor handler.   With no args, xors stdin against 0xFF to stdout.  A single argument is a   file to read xor-bytes out of.  Any zero in the xor-bytes array is treated   as the end; if you need to xor against a string that *includes* zeros,   you're on your own.   The indirect file can be generated easily with data.c.   Written because there are so many lame schemes for "masking" plaintext   passwords and the like floating around, and it's handy to just run an   obscure binary-format configuration file through this and look for strings.   *Hobbit*, 960208 */#include <stdio.h>#include <fcntl.h>char buf[8192];char bytes[256];char * py;/* do the xor, in place.  Uses global ptr "py" to maintain "bytes" state */xorb (buf, len)  char * buf;  int len;{  register int x;  register char * pb;  pb = buf;  x = len;  while (x > 0) {    *pb = (*pb ^ *py);    pb++;    py++;    if (! *py)      py = bytes;    x--;  }} /* xorb *//* blah */main (argc, argv)  int argc;  char ** argv;{  register int x = 0;  register int y;/* manually preload; xor-with-0xFF is all too common */  memset (bytes, 0, sizeof (bytes));  bytes[0] = 0xff;/* if file named in any arg, reload from that */#ifdef O_BINARY				/* DOS shit... */  x = setmode (0, O_BINARY);		/* make stdin raw */  if (x < 0) {    fprintf (stderr, "stdin binary setmode oops: %d\n", x);    exit (1);  }  x = setmode (1, O_BINARY);		/* make stdout raw */  if (x < 0) {    fprintf (stderr, "stdout binary setmode oops: %d\n", x);    exit (1);  }#endif /* O_BINARY */    if (argv[1])#ifdef O_BINARY    x = open (argv[1], O_RDONLY | O_BINARY);#else    x = open (argv[1], O_RDONLY);#endif  if (x > 0) {    read (x, bytes, 250);		/* nothin' fancy here */    close (x);  }  py = bytes;  x = 1;  while (x > 0) {    x = read (0, buf, sizeof (buf));    if (x <= 0)      break;    xorb (buf, x);    y = write (1, buf, x);    if (y <= 0)      exit (1);  }  exit (0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -