Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

FrozenVoid wrote a C program!

Name: Anonymous 2009-06-18 1:39

Simple XOR encryptor in C
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
//Syntax : Xorw inputfile outputfile Number_of_iterations=(encrypt +num,decrypt -num);
//example: 'xorw input.txt output.dat 734',then 'xorw output.dat input.txt -734' to get file back
//numbers above 10k result in much slower encryption/decryption speed.
int main(int argc, char *argv[]){int level;long int filesize;char mode;//1back0forw
if(!argv[3]){puts("No level specified\n");return 1;}else{ level=atoi(argv[3]);if(!level){puts("Bad level\n");return 1;}};
mode=level<0?1:0;level=abs(level);
FILE *output= fopen(argv[2], "wb" );if(!output){puts("File write error\n");return 1;}
FILE *input = fopen( argv[1], "rb" );if(!input){puts("No input file exists\n");return 1;};
fseek(input,0,SEEK_END);filesize=ftell(input);rewind(input);char *inpbuf=malloc(filesize);
fread(inpbuf,1,filesize,input);fclose(input);
unsigned char prevbyte;long int pos;unsigned char tmpbyte;
if(mode){for(;level;level--){
prevbyte=0x00;for(pos=0;pos<filesize;pos++){tmpbyte=inpbuf[pos];inpbuf[pos]^=prevbyte;prevbyte=tmpbyte;}
}}else{for(;level;level--){
prevbyte=0x00;for(pos=0;pos<filesize;pos++){inpbuf[pos]^=prevbyte;prevbyte=inpbuf[pos];}
}};fwrite(inpbuf,1,filesize,output);free(inpbuf);fclose( output );return 0;}
Posted by FrozenVoid at 18:48 0 comments Links to this post
Labels: encryption, xor, xorw.c

Name: Anonymous 2009-06-18 12:21

>>16
It's about as effective as rot26 encryption.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List