#include #include #include #include "compression.c" /* Disclaimer: This is very sloppy code....yes I know this....it was thrown together very quickly just to extract simple data This requires compression.c from the kext_tools package */ int main(int argc,char *argv[]) { unsigned char *input=NULL,*output=NULL; int fd,fd2; struct stat sb; off_t bytes=0; if(argc!=3) { printf("Usage: %s \n\n",argv[0]); exit(0); } fd = open(argv[1],O_RDONLY,0); fstat(fd,&sb); input = calloc(sb.st_size,1); output = calloc(sb.st_size*4,1); // TODO: right now this is a kludge cause I know it will fit read(fd,input,sb.st_size); bytes = decompress_lzss(output,input,sb.st_size); fd2 = open(argv[2],O_CREAT|O_RDWR,S_IRWXU); write(fd2,output,bytes); close(fd2); }