mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-07-06 04:51:40 -07:00
x64 warning fixes
This commit is contained in:
parent
bd8ec4712f
commit
cd0757e81b
3 changed files with 115 additions and 26 deletions
93
Makefile
93
Makefile
|
@ -1,5 +1,94 @@
|
|||
all:
|
||||
@echo Error: you must run "./configure" first
|
||||
CC=gcc
|
||||
STRIP=strip
|
||||
XDEFINES= -DLIBOPENSSL -DHAVE_PCRE -DLIBSVN -DLIBSSH -DHAVE_ZLIB -DHAVE_MATH_H
|
||||
XLIBS= -lz -lssl -lpcre -lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1 -lssh -lcrypto
|
||||
XLIBPATHS=-L/usr/lib -L/usr/local/lib -L/lib -L/lib -L/usr/local/lib -L/lib
|
||||
XIPATHS= -I/usr/include -I/usr/local/include -I/usr/include/subversion-1 -I/usr/include/apr-1 -I/usr/include/subversion-1
|
||||
PREFIX=/usr/local
|
||||
XHYDRA_SUPPORT=
|
||||
STRIP=strip
|
||||
|
||||
HYDRA_LOGO=hydra-logo.o
|
||||
PWI_LOGO=pw-inspector-logo.o
|
||||
SEC=-fstack-protector-all --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2
|
||||
|
||||
#
|
||||
# Makefile for Hydra - (c) 2001-2017 by van Hauser / THC <vh@thc.org>
|
||||
#
|
||||
OPTS=-I. -O3
|
||||
# -Wall -g -pedantic
|
||||
LIBS=-lm
|
||||
BINDIR = /bin
|
||||
MANDIR ?= /man/man1/
|
||||
DATADIR ?= /etc
|
||||
DESTDIR ?=
|
||||
|
||||
SRC = hydra-vnc.c hydra-pcnfs.c hydra-rexec.c hydra-nntp.c hydra-socks5.c \
|
||||
hydra-telnet.c hydra-cisco.c hydra-http.c hydra-ftp.c hydra-imap.c \
|
||||
hydra-pop3.c hydra-smb.c hydra-icq.c hydra-cisco-enable.c hydra-ldap.c \
|
||||
hydra-mysql.c hydra-mssql.c hydra-xmpp.c hydra-http-proxy-urlenum.c \
|
||||
hydra-snmp.c hydra-cvs.c hydra-smtp.c hydra-smtp-enum.c hydra-sapr3.c \
|
||||
hydra-ssh.c hydra-sshkey.c hydra-teamspeak.c hydra-postgres.c \
|
||||
hydra-rsh.c hydra-rlogin.c hydra-oracle-listener.c hydra-svn.c \
|
||||
hydra-pcanywhere.c hydra-sip.c hydra-oracle.c hydra-vmauthd.c \
|
||||
hydra-asterisk.c hydra-firebird.c hydra-afp.c hydra-ncp.c hydra-rdp.c \
|
||||
hydra-oracle-sid.c hydra-http-proxy.c hydra-http-form.c hydra-irc.c \
|
||||
hydra-s7-300.c hydra-redis.c hydra-adam6500.c hydra-rtsp.c \
|
||||
hydra-rpcap.c hydra-radmin2.c \
|
||||
hydra-time.c crc32.c d3des.c bfg.c ntlm.c sasl.c hmacmd5.c hydra-mod.c
|
||||
OBJ = hydra-vnc.o hydra-pcnfs.o hydra-rexec.o hydra-nntp.o hydra-socks5.o \
|
||||
hydra-telnet.o hydra-cisco.o hydra-http.o hydra-ftp.o hydra-imap.o \
|
||||
hydra-pop3.o hydra-smb.o hydra-icq.o hydra-cisco-enable.o hydra-ldap.o \
|
||||
hydra-mysql.o hydra-mssql.o hydra-xmpp.o hydra-http-proxy-urlenum.o \
|
||||
hydra-snmp.o hydra-cvs.o hydra-smtp.o hydra-smtp-enum.o hydra-sapr3.o \
|
||||
hydra-ssh.o hydra-sshkey.o hydra-teamspeak.o hydra-postgres.o \
|
||||
hydra-rsh.o hydra-rlogin.o hydra-oracle-listener.o hydra-svn.o \
|
||||
hydra-pcanywhere.o hydra-sip.o hydra-oracle-sid.o hydra-oracle.o \
|
||||
hydra-vmauthd.o hydra-asterisk.o hydra-firebird.o hydra-afp.o \
|
||||
hydra-ncp.o hydra-http-proxy.o hydra-http-form.o hydra-irc.o \
|
||||
hydra-redis.o hydra-rdp.o hydra-s7-300.c hydra-adam6500.o hydra-rtsp.o \
|
||||
hydra-rpcap.o hydra-radmin2.o \
|
||||
crc32.o d3des.o bfg.o ntlm.o sasl.o hmacmd5.o hydra-mod.o hydra-time.o
|
||||
BINS = hydra pw-inspector
|
||||
|
||||
EXTRA_DIST = README README.arm README.palm CHANGES TODO INSTALL LICENSE \
|
||||
hydra-mod.h hydra.h crc32.h d3des.h
|
||||
|
||||
all: pw-inspector hydra $(XHYDRA_SUPPORT)
|
||||
@echo
|
||||
@echo Now type "make install"
|
||||
|
||||
hydra: hydra.c $(OBJ)
|
||||
$(CC) $(OPTS) $(SEC) $(LIBS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o hydra $(HYDRA_LOGO) hydra.c $(OBJ) $(LIBS) $(XLIBS) $(XLIBPATHS) $(XIPATHS) $(XDEFINES)
|
||||
@echo
|
||||
@echo If men could get pregnant, abortion would be a sacrament
|
||||
@echo
|
||||
|
||||
xhydra:
|
||||
-cd hydra-gtk && sh ./make_xhydra.sh
|
||||
|
||||
pw-inspector: pw-inspector.c
|
||||
-$(CC) $(OPTS) $(SEC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pw-inspector $(PWI_LOGO) pw-inspector.c
|
||||
|
||||
.c.o:
|
||||
$(CC) $(OPTS) $(SEC) $(CFLAGS) $(CPPFLAGS) -c $< $(XDEFINES) $(XIPATHS)
|
||||
|
||||
strip: all
|
||||
strip $(BINS)
|
||||
-echo OK > /dev/null && test -x xhydra && strip xhydra || echo OK > /dev/null
|
||||
|
||||
install: strip
|
||||
-mkdir -p $(DESTDIR)$(PREFIX)$(BINDIR)
|
||||
cp -f hydra-wizard.sh $(BINS) $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 hydra-wizard.sh $(BINS)
|
||||
-echo OK > /dev/null && test -x xhydra && cp xhydra $(DESTDIR)$(PREFIX)$(BINDIR) && cd $(DESTDIR)$(PREFIX)$(BINDIR) && chmod 755 xhydra || echo OK > /dev/null
|
||||
-sed -e "s|^INSTALLDIR=.*|INSTALLDIR="$(PREFIX)"|" dpl4hydra.sh | sed -e "s|^LOCATION=.*|LOCATION="$(DATADIR)"|" > $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh
|
||||
-chmod 755 $(DESTDIR)$(PREFIX)$(BINDIR)/dpl4hydra.sh
|
||||
-mkdir -p $(DESTDIR)$(PREFIX)$(DATADIR)
|
||||
-cp -f *.csv $(DESTDIR)$(PREFIX)$(DATADIR)
|
||||
-mkdir -p $(DESTDIR)$(PREFIX)$(MANDIR)
|
||||
-cp -f hydra.1 xhydra.1 pw-inspector.1 $(DESTDIR)$(PREFIX)$(MANDIR)
|
||||
|
||||
clean:
|
||||
rm -rf xhydra pw-inspector hydra *.o core *.core *.stackdump *~ Makefile.in Makefile dev_rfc hydra.restore arm/*.ipk arm/ipkg/usr/bin/* hydra-gtk/src/*.o hydra-gtk/src/xhydra hydra-gtk/stamp-h hydra-gtk/config.status hydra-gtk/errors hydra-gtk/config.log hydra-gtk/src/.deps hydra-gtk/src/Makefile hydra-gtk/Makefile
|
||||
cp -f Makefile.orig Makefile
|
||||
|
||||
|
|
|
@ -342,7 +342,7 @@ void hdrrepv(ptr_header_node * ptr_head, char *hdrname, char *new_value) {
|
|||
if (cur_ptr->value)
|
||||
strcpy(cur_ptr->value, new_value);
|
||||
else {
|
||||
hydra_report(stderr, "[ERROR] Out of memory (hdrrepv %u)", strlen(new_value) + 1);
|
||||
hydra_report(stderr, "[ERROR] Out of memory (hdrrepv %lu)", strlen(new_value) + 1);
|
||||
hydra_child_exit(0);
|
||||
}
|
||||
}
|
||||
|
|
46
hydra.c
46
hydra.c
|
@ -626,7 +626,7 @@ void hydra_debug(int32_t force, char *string) {
|
|||
if (!debug && !force)
|
||||
return;
|
||||
|
||||
printf("[DEBUG] Code: %s Time: %llu\n", string, (uint64_t) time(NULL));
|
||||
printf("[DEBUG] Code: %s Time: %lu\n", string, (uint64_t) time(NULL));
|
||||
printf("[DEBUG] Options: mode %d ssl %d restore %d showAttempt %d tasks %d max_use %d tnp %d tpsal %d tprl %d exit_found %d miscptr %s service %s\n",
|
||||
hydra_options.mode, hydra_options.ssl, hydra_options.restore,
|
||||
hydra_options.showAttempt, hydra_options.tasks, hydra_options.max_use,
|
||||
|
@ -634,7 +634,7 @@ void hydra_debug(int32_t force, char *string) {
|
|||
hydra_options.try_password_reverse_login, hydra_options.exit_found,
|
||||
STR_NULL(hydra_options.miscptr), hydra_options.service);
|
||||
|
||||
printf("[DEBUG] Brains: active %d targets %d finished %d todo_all %llu todo %llu sent %llu found %llu countlogin %llu sizelogin %llu countpass %llu sizepass %llu\n",
|
||||
printf("[DEBUG] Brains: active %d targets %d finished %d todo_all %lu todo %lu sent %lu found %lu countlogin %lu sizelogin %lu countpass %lu sizepass %lu\n",
|
||||
hydra_brains.active, hydra_brains.targets, hydra_brains.finished,
|
||||
hydra_brains.todo_all + total_redo_count, hydra_brains.todo,
|
||||
hydra_brains.sent, hydra_brains.found,
|
||||
|
@ -646,7 +646,7 @@ void hydra_debug(int32_t force, char *string) {
|
|||
for (i = 0; i < hydra_brains.targets; i++) {
|
||||
hydra_target* target = hydra_targets[i];
|
||||
printf
|
||||
("[DEBUG] Target %d - target %s ip %s login_no %llu pass_no %llu sent %llu pass_state %d redo_state %d (%d redos) use_count %d failed %d done %d fail_count %d login_ptr %s pass_ptr %s\n",
|
||||
("[DEBUG] Target %d - target %s ip %s login_no %lu pass_no %lu sent %lu pass_state %d redo_state %d (%d redos) use_count %d failed %d done %d fail_count %d login_ptr %s pass_ptr %s\n",
|
||||
i, STR_NULL(target->target), hydra_address2string_beautiful(target->ip),
|
||||
target->login_no, target->pass_no, target->sent,
|
||||
target->pass_state, target->redo_state, target->redo,
|
||||
|
@ -749,7 +749,7 @@ void hydra_restore_write(int32_t print_msg) {
|
|||
for (j = 0; j < hydra_options.max_use; j++) {
|
||||
memcpy((char *) &hh, hydra_heads[j], sizeof(hydra_head));
|
||||
if (j == 0 && debug) {
|
||||
printf("[DEBUG] sizeof hydra_head: %u\n", sizeof(hydra_head));
|
||||
printf("[DEBUG] sizeof hydra_head: %lu\n", sizeof(hydra_head));
|
||||
printf("[DEBUG] memcmp: %d\n", memcmp(hydra_heads[j], &hh, sizeof(hydra_head)));
|
||||
}
|
||||
hh.active = 0; // re-enable disabled heads
|
||||
|
@ -1567,14 +1567,14 @@ int32_t hydra_send_next_pair(int32_t target_no, int32_t head_no) {
|
|||
|
||||
if (debug)
|
||||
printf
|
||||
("[DEBUG] send_next_pair_init target %d, head %d, redo %d, redo_state %d, pass_state %d. loop_mode %d, curlogin %s, curpass %s, tlogin %s, tpass %s, logincnt %llu/%llu, passcnt %llu/%llu, loop_cnt %d\n",
|
||||
("[DEBUG] send_next_pair_init target %d, head %d, redo %d, redo_state %d, pass_state %d. loop_mode %d, curlogin %s, curpass %s, tlogin %s, tpass %s, logincnt %lu/%lu, passcnt %lu/%lu, loop_cnt %d\n",
|
||||
target_no, head_no, hydra_targets[target_no]->redo, hydra_targets[target_no]->redo_state, hydra_targets[target_no]->pass_state, hydra_options.loop_mode,
|
||||
hydra_heads[head_no]->current_login_ptr, hydra_heads[head_no]->current_pass_ptr, hydra_targets[target_no]->login_ptr, hydra_targets[target_no]->pass_ptr,
|
||||
hydra_targets[target_no]->login_no, hydra_brains.countlogin, hydra_targets[target_no]->pass_no, hydra_brains.countpass, loop_cnt);
|
||||
|
||||
if (loop_cnt > (hydra_brains.countlogin * 2) + 1 && loop_cnt > (hydra_brains.countpass * 2) + 1) {
|
||||
if (debug)
|
||||
printf("[DEBUG] too many loops in send_next_pair, returning -1 (loop_cnt %d, sent %llu, todo %llu)\n", loop_cnt, hydra_targets[target_no]->sent, hydra_brains.todo);
|
||||
printf("[DEBUG] too many loops in send_next_pair, returning -1 (loop_cnt %d, sent %lu, todo %lu)\n", loop_cnt, hydra_targets[target_no]->sent, hydra_brains.todo);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1584,7 +1584,7 @@ int32_t hydra_send_next_pair(int32_t target_no, int32_t head_no) {
|
|||
snpdone = 1;
|
||||
} else {
|
||||
if (debug && (hydra_heads[head_no]->current_login_ptr != NULL || hydra_heads[head_no]->current_pass_ptr != NULL))
|
||||
printf("[COMPLETED] target %s - login \"%s\" - pass \"%s\" - child %d - %llu of %llu\n",
|
||||
printf("[COMPLETED] target %s - login \"%s\" - pass \"%s\" - child %d - %lu of %lu\n",
|
||||
hydra_targets[target_no]->target, hydra_heads[head_no]->current_login_ptr, hydra_heads[head_no]->current_pass_ptr, head_no,
|
||||
hydra_targets[target_no]->sent, hydra_brains.todo + hydra_targets[target_no]->redo);
|
||||
hydra_heads[head_no]->redo = 0;
|
||||
|
@ -1894,7 +1894,7 @@ int32_t hydra_send_next_pair(int32_t target_no, int32_t head_no) {
|
|||
return 0; // not prevent disabling it, if its needed its already done in the above line
|
||||
}
|
||||
if (debug || hydra_options.showAttempt) {
|
||||
printf("[%sATTEMPT] target %s - login \"%s\" - pass \"%s\" - %llu of %llu [child %d] (%d/%d)\n",
|
||||
printf("[%sATTEMPT] target %s - login \"%s\" - pass \"%s\" - %lu of %lu [child %d] (%d/%d)\n",
|
||||
hydra_targets[target_no]->redo_state ? "REDO-" : snp_is_redo ? "RE-" : "", hydra_targets[target_no]->target, hydra_heads[head_no]->current_login_ptr,
|
||||
hydra_heads[head_no]->current_pass_ptr, hydra_targets[target_no]->sent, hydra_brains.todo + hydra_targets[target_no]->redo, head_no, hydra_targets[target_no]->redo_state ? hydra_targets[target_no]->redo_state - 1 : 0, hydra_targets[target_no]->redo);
|
||||
}
|
||||
|
@ -3188,11 +3188,11 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.countlogin > MAX_LINES) {
|
||||
fprintf(stderr, "[ERROR] Maximum number of logins is %d, this file has %llu entries.\n", MAX_LINES, hydra_brains.countlogin);
|
||||
fprintf(stderr, "[ERROR] Maximum number of logins is %d, this file has %lu entries.\n", MAX_LINES, hydra_brains.countlogin);
|
||||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.sizelogin > MAX_BYTES) {
|
||||
fprintf(stderr, "[ERROR] Maximum size of the login file is %d, this file has %llu bytes.\n", MAX_BYTES, (uint64_t) hydra_brains.sizelogin);
|
||||
fprintf(stderr, "[ERROR] Maximum size of the login file is %d, this file has %lu bytes.\n", MAX_BYTES, (uint64_t) hydra_brains.sizelogin);
|
||||
exit(-1);
|
||||
}
|
||||
login_ptr = malloc(hydra_brains.sizelogin + hydra_brains.countlogin + 8);
|
||||
|
@ -3217,11 +3217,11 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.countpass > MAX_LINES) {
|
||||
fprintf(stderr, "[ERROR] Maximum number of passwords is %d, this file has %llu entries.\n", MAX_LINES, hydra_brains.countpass);
|
||||
fprintf(stderr, "[ERROR] Maximum number of passwords is %d, this file has %lu entries.\n", MAX_LINES, hydra_brains.countpass);
|
||||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.sizepass > MAX_BYTES) {
|
||||
fprintf(stderr, "[ERROR] Maximum size of the password file is %d, this file has %llu bytes.\n", MAX_BYTES, (uint64_t) hydra_brains.sizepass);
|
||||
fprintf(stderr, "[ERROR] Maximum size of the password file is %d, this file has %lu bytes.\n", MAX_BYTES, (uint64_t) hydra_brains.sizepass);
|
||||
exit(-1);
|
||||
}
|
||||
pass_ptr = malloc(hydra_brains.sizepass + hydra_brains.countpass + 8);
|
||||
|
@ -3264,11 +3264,11 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.countlogin > MAX_LINES / 2) {
|
||||
fprintf(stderr, "[ERROR] Maximum number of colon file entries is %d, this file has %llu entries.\n", MAX_LINES / 2, hydra_brains.countlogin);
|
||||
fprintf(stderr, "[ERROR] Maximum number of colon file entries is %d, this file has %lu entries.\n", MAX_LINES / 2, hydra_brains.countlogin);
|
||||
exit(-1);
|
||||
}
|
||||
if (hydra_brains.sizelogin > MAX_BYTES / 2) {
|
||||
fprintf(stderr, "[ERROR] Maximum size of the colon file is %d, this file has %llu bytes.\n", MAX_BYTES / 2, (uint64_t) hydra_brains.sizelogin);
|
||||
fprintf(stderr, "[ERROR] Maximum size of the colon file is %d, this file has %lu bytes.\n", MAX_BYTES / 2, (uint64_t) hydra_brains.sizelogin);
|
||||
exit(-1);
|
||||
}
|
||||
csv_ptr = malloc(hydra_brains.sizelogin + 2 * hydra_brains.countlogin + 8);
|
||||
|
@ -3488,7 +3488,7 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
bail("No login/password combination given!");
|
||||
if (hydra_brains.todo < hydra_options.tasks) {
|
||||
if (verbose && hydra_options.tasks != TASKS)
|
||||
printf("[VERBOSE] More tasks defined than login/pass pairs exist. Tasks reduced to %llu\n", hydra_brains.todo);
|
||||
printf("[VERBOSE] More tasks defined than login/pass pairs exist. Tasks reduced to %lu\n", hydra_brains.todo);
|
||||
hydra_options.tasks = hydra_brains.todo;
|
||||
}
|
||||
}
|
||||
|
@ -3523,11 +3523,11 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
if (hydra_options.ssl)
|
||||
options = options | OPTION_SSL;
|
||||
if (hydra_options.colonfile != NULL)
|
||||
printf("[DATA] max %d task%s per %d server%s, overall %d tasks, %llu login tr%s, ~%llu tr%s per task\n", hydra_options.tasks, hydra_options.tasks == 1 ? "" : "s",
|
||||
printf("[DATA] max %d task%s per %d server%s, overall %d tasks, %lu login tr%s, ~%lu tr%s per task\n", hydra_options.tasks, hydra_options.tasks == 1 ? "" : "s",
|
||||
hydra_brains.targets, hydra_brains.targets == 1 ? "" : "s", hydra_options.max_use, hydra_brains.todo, hydra_brains.todo == 1 ? "y" : "ies", math2,
|
||||
math2 == 1 ? "y" : "ies");
|
||||
else
|
||||
printf("[DATA] max %d task%s per %d server%s, overall %d task%s, %llu login tr%s (l:%llu/p:%llu), ~%llu tr%s per task\n", hydra_options.tasks, hydra_options.tasks == 1 ? "" : "s",
|
||||
printf("[DATA] max %d task%s per %d server%s, overall %d task%s, %lu login tr%s (l:%lu/p:%lu), ~%lu tr%s per task\n", hydra_options.tasks, hydra_options.tasks == 1 ? "" : "s",
|
||||
hydra_brains.targets, hydra_brains.targets == 1 ? "" : "s",
|
||||
hydra_options.max_use, hydra_options.max_use == 1 ? "" : "s",
|
||||
hydra_brains.todo, hydra_brains.todo == 1 ? "y" : "ies",
|
||||
|
@ -3881,7 +3881,7 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
case 'C': // head reports connect error
|
||||
fck = write(hydra_heads[head_no]->sp[0], "Q", 1);
|
||||
if (debug) {
|
||||
printf("[ATTEMPT-ERROR] target %s - login \"%s\" - pass \"%s\" - child %d - %llu of %llu\n",
|
||||
printf("[ATTEMPT-ERROR] target %s - login \"%s\" - pass \"%s\" - child %d - %lu of %lu\n",
|
||||
hydra_targets[hydra_heads[head_no]->target_no]->target, hydra_heads[head_no]->current_login_ptr, hydra_heads[head_no]->current_pass_ptr, head_no,
|
||||
hydra_targets[hydra_heads[head_no]->target_no]->sent, hydra_brains.todo);
|
||||
}
|
||||
|
@ -3930,7 +3930,7 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
hydra_increase_fail_count(hydra_heads[head_no]->target_no, head_no);
|
||||
}
|
||||
}
|
||||
//if (debug) printf("DEBUG: bug hunt: %llu %llu\n", hydra_brains.todo_all, hydra_brains.sent);
|
||||
//if (debug) printf("DEBUG: bug hunt: %lu %lu\n", hydra_brains.todo_all, hydra_brains.sent);
|
||||
|
||||
usleepn(USLEEP_LOOP);
|
||||
(void) wait3(NULL, WNOHANG, NULL);
|
||||
|
@ -3965,11 +3965,11 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
for (i = 0; i < hydra_options.max_use; i++)
|
||||
if (hydra_heads[i]->active > 0 && hydra_heads[i]->pid > 0)
|
||||
hydra_kill_head(i, 1, 3);
|
||||
printf("[BUG] %llu + %d < %llu\n", hydra_brains.todo_all, total_redo_count, hydra_brains.sent);
|
||||
printf("[BUG] %lu + %d < %lu\n", hydra_brains.todo_all, total_redo_count, hydra_brains.sent);
|
||||
bail("[BUG] Weird bug detected where more tests were performed than possible. Please rerun with -d command line switch and post all output plus command line here: https://github.com/vanhauser-thc/thc-hydra/issues/113 or send it in an email to vh@thc.org");
|
||||
}
|
||||
*/
|
||||
printf("[STATUS] %.2f tries/min, %llu tries in %02llu:%02lluh, %llu to do in %02llu:%02lluh, %d active\n", (1.0 * hydra_brains.sent) / (((elapsed_status - starttime) * 1.0) / 60), // tries/min
|
||||
printf("[STATUS] %.2f tries/min, %lu tries in %02lu:%02luh, %lu to do in %02lu:%02luh, %d active\n", (1.0 * hydra_brains.sent) / (((elapsed_status - starttime) * 1.0) / 60), // tries/min
|
||||
hydra_brains.sent, // tries
|
||||
(uint64_t) ((elapsed_status - starttime) / 3600), // hours
|
||||
(uint64_t) (((elapsed_status - starttime) % 3600) / 60), // minutes
|
||||
|
@ -4014,7 +4014,7 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
fprintf(stderr, "[ERROR] illegal target result value (%d=>%d)\n", i, hydra_targets[i]->done);
|
||||
}
|
||||
|
||||
printf("%d of %d target%s%scompleted, %llu valid password%s found\n", hydra_brains.targets - j - k - error, hydra_brains.targets, hydra_brains.targets == 1 ? " " : "s ",
|
||||
printf("%d of %d target%s%scompleted, %lu valid password%s found\n", hydra_brains.targets - j - k - error, hydra_brains.targets, hydra_brains.targets == 1 ? " " : "s ",
|
||||
hydra_brains.found > 0 ? "successfully " : "", hydra_brains.found, hydra_brains.found == 1 ? "" : "s");
|
||||
|
||||
error += j;
|
||||
|
@ -4085,7 +4085,7 @@ int32_t main(int32_t argc, char *argv[]) {
|
|||
printf("%s (%s) finished at %s\n", PROGRAM, RESOURCE, hydra_build_time());
|
||||
if (hydra_brains.ofp != NULL && hydra_brains.ofp != stdout) {
|
||||
if (hydra_options.outfile_format == FORMAT_JSONV1) {
|
||||
fprintf(hydra_brains.ofp, "\n\t],\n\"success\": %s,\n\"errormessages\": [ %s ],\n\"quantityfound\": %llu }\n",
|
||||
fprintf(hydra_brains.ofp, "\n\t],\n\"success\": %s,\n\"errormessages\": [ %s ],\n\"quantityfound\": %lu }\n",
|
||||
(error ? "false" : "true"), json_error, hydra_brains.found);
|
||||
}
|
||||
fclose(hydra_brains.ofp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue