Hcxeiutool
Hcxeiutool
#include <ctype.h>
#include <errno.h>
#include <getopt.h>
#include <libgen.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "include/hcxeiutool.h"
/*===========================================================================*/
/* global variable */
cs = 0;
cw = 0;
cd = 0;
cx = 0;
cl = CSWORD;
memset(word, 0, sizeof(word));
for(c = 0; c < len; c++)
{
if((line[c] >= '0') && (line[c] <= '9'))
{
word[DIGITWORD][cd] = line[c];
cd++;
}
if(isxdigit((unsigned char)line[c]))
{
word[XDIGITWORD][cx] = line[c];
cx++;
}
if(((line[c] >= 'A') && (line[c] <= 'Z')) || ((line[c] >= 'a') && (line[c] <=
'z')))
{
word[CHARWORD][cw] = line[c];
word[cl][cs] = line[c];
cw++;
cs++;
}
else
{
cl++;
cs = 0;
}
}
if(memcmp(word[DIGITWORD], word[XDIGITWORD], WORD_MAX) == 0) word[XDIGITWORD][0] =
0;
if(memcmp(word[CSWORD], word[XDIGITWORD], WORD_MAX) == 0) word[XDIGITWORD][0] = 0;
if(memcmp(word[CSWORD], word[CHARWORD], WORD_MAX) == 0) word[CHARWORD][0] = 0;
if(fh_digitlist != NULL)
{
if(strnlen(word[DIGITWORD], WORD_MAX) > 3) fprintf(fh_digitlist, "%s\n",
word[DIGITWORD]);
}
if(fh_xdigitlist != NULL)
{
if(strnlen(word[XDIGITWORD], WORD_MAX) > 3) fprintf(fh_xdigitlist, "%s\n",
word[XDIGITWORD]);
}
if(fh_charlist != NULL)
{
if(strnlen(word[CHARWORD], WORD_MAX) > 3) fprintf(fh_charlist, "%s\n",
word[CHARWORD]);
}
if(fh_cslist != NULL)
{
for(c = CSWORD; c < LINE_MAX; c++)
{
if(strnlen(word[c], WORD_MAX) > 3) fprintf(fh_cslist, "%s\n", word[c]);
}
}
return;
}
/*===========================================================================*/
/*===========================================================================*/
static inline size_t chop(char *buffer, size_t len)
{
static char *ptr;
auswahl = -1;
index = 0;
optind = 1;
optopt = 0;
fh_digitlist = NULL;
fh_xdigitlist = NULL;
fh_charlist = NULL;
fh_cslist = NULL;
case HCX_OUTPUT_DIGITLIST:
digitname = optarg;
break;
case HCX_OUTPUT_XDIGITLIST:
xdigitname = optarg;
break;
case HCX_OUTPUT_CHARLIST:
charname = optarg;
break;
case HCX_OUTPUT_CSLIST:
csname = optarg;
break;
case HCX_HELP:
usage(basename(argv[0]));
break;
case HCX_VERSION:
version(basename(argv[0]));
break;
case '?':
usageerror(basename(argv[0]));
break;
}
}
if(argc < 2)
{
fprintf(stderr, "no option selected\n");
return EXIT_SUCCESS;
}
if(wordlistinname == NULL)
{
fprintf(stderr, "no input wordlist selected\n");
return EXIT_SUCCESS;
}
if(digitname != NULL)
{
if((fh_digitlist = fopen(digitname, "a+")) == NULL)
{
fprintf(stderr, "error opening file %s: %s\n", digitname,
strerror(errno));
exit(EXIT_FAILURE);
}
}
if(xdigitname != NULL)
{
if((fh_xdigitlist = fopen(xdigitname, "a+")) == NULL)
{
fprintf(stderr, "error opening file %s: %s\n", xdigitname,
strerror(errno));
exit(EXIT_FAILURE);
}
}
if(charname != NULL)
{
if((fh_charlist = fopen(charname, "a+")) == NULL)
{
fprintf(stderr, "error opening file %s: %s\n", charname,
strerror(errno));
exit(EXIT_FAILURE);
}
}
if(csname != NULL)
{
if((fh_cslist = fopen(csname, "a+")) == NULL)
{
fprintf(stderr, "error opening file %s: %s\n", csname,
strerror(errno));
exit(EXIT_FAILURE);
}
}
processwordlist(fh_wordlistin);
return EXIT_SUCCESS;
}
/*===========================================================================*/