diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/zziplib/bins/zzobfuscated.c')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/zziplib/bins/zzobfuscated.c | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/Build/source/texk/web2c/luatexdir/zziplib/bins/zzobfuscated.c b/Build/source/texk/web2c/luatexdir/zziplib/bins/zzobfuscated.c deleted file mode 100644 index 352afc29a13..00000000000 --- a/Build/source/texk/web2c/luatexdir/zziplib/bins/zzobfuscated.c +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (c) 2002 Mike Nordell - * portions Copyright (c) 2000,2001,2002 Guido Draheim <guidod@gmx.de> - * Use freely under the restrictions of the ZLIB License - * - * A small example that displays how the plugin I/O functions can be used - * to read "encrypted" zip archives. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/stat.h> -#include <zzip/zzip.h> -#include <zzip/plugin.h> - -#ifndef O_BINARY -#define O_BINARY 0 -#endif - -#if defined ZZIP_HAVE_UNISTD_H -#include <unistd.h> /* read */ -#elif defined ZZIP_HAVE_IO_H -#include <io.h> /* win32 */ -#else -#endif - -#ifdef _MSC_VER -#define _MSC_VER_NULL NULL -#else -#define _MSC_VER_NULL -#endif - -/* - * Only override our the read handler. Let the system take care - * the rest. - */ - -static zzip_ssize_t our_read(int fd, void* buf, zzip_size_t len) -{ - const zzip_ssize_t bytes = read(fd, buf, len); - zzip_ssize_t i; - char* pch = (char*)buf; - for (i=0; i<bytes; ++i) { - pch[i] ^= 0x55; - } - return bytes; -} - -static zzip_plugin_io_handlers our_handlers = { _MSC_VER_NULL }; -static const char* const our_fileext [] = { ".dat", ".sav", 0 }; - - -static const char usage[] = -{ - " zzobfuscated <file> [in-zip filename]\n" - " - Demonstrates the use of installable file I/O handlers.\n" - " Copies <file> to \"obfuscated[.dat]\" while \"encrypting\" it by xor'ing\n" - " every byte with 0x55, installs file I/O handlers, and then uses the\n" - " zzip_open_ext_io function to read and print the file to stdout.\n" - " The file can be a normal file or an inflated part of a zip-archive,\n" - " to get 'README' from test.zip you may write \n" - " zzobfuscated test.zip README \n" -}; - -int -main (int argc, char* argv[]) -{ - if (argc <= 1 || argc > 3 || ! strcmp (argv[1], "--help")) - { - printf (usage); - return 0; - } - if (! strcmp (argv[1], "--version")) - { - printf (__FILE__" version "ZZIP_PACKAGE" "ZZIP_VERSION"\n"); - return 0; - } - - if (strlen(argv[1]) > 128) { - fprintf(stderr, "Please provide a filename shorter than 128 chars.\n"); - exit(1); - } - - /* obfuscate the file */ - { - int ch; - FILE* fin; - FILE* fout; - fin = fopen(argv[1], "rb"); - if (!fin) { - fprintf(stderr, "Can't open input file \"%s\"\n", argv[1]); - exit(1); - } - fout = fopen((argc == 2) ? "obfuscated" : "obfuscated.dat", "wb"); - if (!fout) { - fprintf(stderr, "Can't open output file \"obfuscated\"\n"); - exit(1); - } - while ((ch = fgetc(fin)) != EOF) { - ch ^= 0x55; - fputc(ch, fout); - } - fclose(fout); - fclose(fin); - } - - /* install our I/O hander */ - zzip_init_io(&our_handlers, 0); - our_handlers.fd.read = &our_read; - - { -# define argn 2 - ZZIP_FILE* fp; - char name[256]; - if (argc == 3) { - sprintf(name, "obfuscated/%s", argv[argn]); - } else { - sprintf(name, "obfuscated"); - } - fp = zzip_open_ext_io (name, O_RDONLY|O_BINARY, ZZIP_PREFERZIP, - our_fileext, &our_handlers); - - if (! fp) - { - perror (name); - exit(1); - }else{ - char buf[17]; - int n; - - /* read chunks of 16 bytes into buf and print them to stdout */ - while (0 < (n = zzip_read(fp, buf, 16))) - { - buf[n] = '\0'; -# ifdef STDOUT_FILENO - write (STDOUT_FILENO, buf, n); -# else - fwrite (buf, 1, n, stdout); -# endif - } - - if (n == -1) - perror (argv[argn]); - } - } - - return 0; -} - -/* - * Local variables: - * c-file-style: "stroustrup" - * End: - */ |