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

📄 nwepgen.c

📁 About WepDecrypt: Wepdecrypt is a Wireless LAN Tool written in c which guesses WEP Keys based o
💻 C
字号:
/* nwepgen.c** Management request handler functions.** Copyright (C) 1999 AbsoluteValue Systems, Inc.  All Rights Reserved.* --------------------------------------------------------------------** linux-wlan**   The contents of this file are subject to the Mozilla Public*   License Version 1.1 (the "License"); you may not use this file*   except in compliance with the License. You may obtain a copy of*   the License at http://www.mozilla.org/MPL/**   Software distributed under the License is distributed on an "AS*   IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or*   implied. See the License for the specific language governing*   rights and limitations under the License.**   Alternatively, the contents of this file may be used under the*   terms of the GNU Public License version 2 (the "GPL"), in which*   case the provisions of the GPL are applicable instead of the*   above.  If you wish to allow the use of your version of this file*   only under the terms of the GPL and not to allow others to use*   your version of this file under the MPL, indicate your decision*   by deleting the provisions above and replace them with the notice*   and other provisions required by the GPL.  If you do not delete*   the provisions above, a recipient may use your version of this*   file under either the MPL or the GPL.** --------------------------------------------------------------------** Inquiries regarding the linux-wlan Open Source project can be* made directly to:** AbsoluteValue Systems Inc.* info@linux-wlan.com* http://www.linux-wlan.com** --------------------------------------------------------------------** Portions of the development of this software were funded by* Intersil Corporation as part of PRISM(R) chipset product development.** --------------------------------------------------------------------** This program generates a set of WEP keys in a manner that is compatible* with the windows based config utility developed by Neesus Datacom.** The algorithm was supplied by Neesus, but was dependent on the srand()* and rand() functions in a binary-only driver.  Juan Arango of Zoom* Telephonics developed the code in the nwepgen() function to match* the behavior of that library.** --------------------------------------------------------------------*/#include <stdlib.h>#include <stdio.h>#include <string.h>#include "wlan/wlan_compat.h"#include "wlan/p80211hdr.h"#include "nwepgen.h"/*----------------------------------------------------------------* nwepgen** Generates a set of WEP keys from a generator string.  This is* intended as a convenience.  Entering hex bytes can be a pain.** Based on an algorithm supplied by Neesus Datacom,* http://www.neesus.com** This function was authored by Zoom Telephonics Engineer* Juan Arango.* http://www.zoomtel.com** Juan's Note:* Changing the code in this function could make this product* incompatible with other ZoomAir wireless products because* these other products rely on Microsoft's rand() and srand()* function implementations!!!  This code uses the same algorithm.** Distributed with permission from Zoom Telephonics.** Arguments:* 	genstr		a null terminated string*	keylen		number of bytes in key* 	wep_key		a 2d array that is filled with the wep keys* Returns:*	nothing----------------------------------------------------------------*/voidnwepgen(char *genstr, int keylen, UINT8wep_key[WLAN_WEP_NKEYS][WLAN_WEP_MAXKEYLEN]){	unsigned int i,j;	unsigned char pseed[4]={0,0,0,0};	unsigned int len;	int randNumber=0;	len = strlen(genstr);	if (len) {		/* generate seed for random number generator using */		/* key string... */		for (i=0; i<len; i++) {			pseed[i%4]^= genstr[i];		}		/* init PRN generator... note that this is equivalent */		/*  to the Microsoft srand() function. */		randNumber =	(int)pseed[0] | 				((int)pseed[1])<<8 | 				((int)pseed[2])<<16 | 				((int)pseed[3])<<24;		/* generate keys. */		for (i=0; i<WLAN_WEP_NKEYS; i++) {			for (j=0; j<keylen; j++) {				/* Note that these three lines are */				/* equivalent to the Microsoft rand() */				/* function. */				randNumber *= 0x343fd;				randNumber += 0x269ec3;				wep_key[i][j] = (unsigned char)((randNumber>>16) & 0x7fff);			}		}	}	return;}

⌨️ 快捷键说明

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