⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 misc.c

📁 著名的解Unix密码的源程序
💻 C
字号:
/* * This file is part of John the Ripper password cracker, * Copyright (c) 1996-98 by Solar Designer */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdarg.h>#include <errno.h>void error(){	exit(1);}void pexit(char *format, ...){	va_list args;	va_start(args, format);	vfprintf(stderr, format, args);	va_end(args);	fprintf(stderr, ": %s\n", strerror(errno));	error();}char *fgetl(char *s, int size, FILE *stream){	char *res, *pos;	if ((res = fgets(s, size, stream))) {		pos = res;		do {			if (*pos == '\r' || *pos == '\n') *pos = 0;		} while (*pos++);	}	return res;}char *strnfcpy(char *dst, char *src, int size){	char *dptr = dst, *sptr = src;	int count = size;	while (count--)		if (!(*dptr++ = *sptr++)) break;	return dst;}char *strnzcpy(char *dst, char *src, int size){	char *dptr = dst, *sptr = src;	int count = size;	if (count)		while (--count)			if (!(*dptr++ = *sptr++)) break;	*dptr = 0;	return dst;}char *strnzcat(char *dst, char *src, int size){	char *dptr = dst, *sptr = src;	int count = size;	if (count) {		while (count && *dptr) {			count--; dptr++;		}		if (count)			while (--count)				if (!(*dptr++ = *sptr++)) break;	}	*dptr = 0;	return dst;}char *strlwr(char *s){	unsigned char *ptr = (unsigned char *)s;	while (*ptr)	if (*ptr >= 'A' && *ptr <= 'Z')		*ptr++ |= 0x20;	else		ptr++;	return s;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -