示例#1
0
文件: log.c 项目: knoopx/wepattack
void log_bssid(wlan_packet_list* bssid) {

	FILE *fp;
	time_t now;
	int encryption;

	fp = fopen(logfile,"a");
	now = time(&now);

	fprintf(fp, "\n");
	print_hex_array(fp, bssid->frame.bssid,6);
	fprintf(fp, "\t%d", bssid->frame.key);

	fprintf(fp, "\t");

	print_hex_array(fp, bssid->secret, bssid->encryption&0x0F);
	if ((bssid->encryption&0x60) == MODE_WEP)
		fprintf(fp, "\t%s", bssid->secret);
	else if ((bssid->encryption&0x60) == MODE_KEYGEN)
		fprintf(fp, "\t%s", bssid->nwep_secret);

	fprintf(fp, "\t%d Bit", ((bssid->encryption&0x0F)+3)*8);
	if ((bssid->encryption&0x60) == MODE_KEYGEN)
		fprintf(fp, " (KEYGEN)");

	fprintf(fp, "\t%d sec", (int)difftime(now, start_time));

	fclose(fp);
}
示例#2
0
文件: misc.c 项目: knoopx/wepattack
void wlan_key_cracked() {

	// write result to logfile
	log_bssid(current_packet);

	// display information on screen
	printf("\n++++++++++ Packet decrypted! ++++++++++\n");

	// display bssid and key
	printf("BSSID: ");
	print_hex_array(stdout, current_packet->frame.bssid,6);
	printf("/ Key %d", current_packet->frame.key);

	// display wepkey
	printf("\tWepKey: ");
	print_hex_array(stdout, current_packet->secret,
		current_packet->encryption&0x0F);
	
	if ((current_packet->encryption&0x60) == MODE_WEP)
		printf("(%s)", current_packet->secret);
	else if ((current_packet->encryption&0x60) == MODE_KEYGEN)
		printf("(%s)", current_packet->nwep_secret);

	// display encryption
	printf("\nEncryption: %d Bit", ((current_packet->encryption&0x0F)+3)*8);
	if ((current_packet->encryption&0x60) == MODE_KEYGEN)
		printf(" (KEYGEN)");
	printf("\n");
}
int media_read(uint32 sector, uint8 *buffer, uint32 sector_count)
{
	int ret;
	uint32 i;
	direct_access_status_sector * dass;

	dass = (direct_access_status_sector *)buffer;

	#ifdef DEBUG
	dbg_printf("media_read sector : 0x%.8X, cnt : %d \n",sector,sector_count);
	#endif

	set_char_pos(&g_ui_ctx,g_ui_ctx.screen_txt_xsize - 1, 0);
	print_char(&g_ui_ctx, 10, INVERTED);

	for(i=0;i<sector_count;i++)
	{
		do
		{
			if((sector-last_setlbabase)>=8)
			{
				ret = setlbabase(sector);
				if( ret != ERR_NO_ERROR )
					return 0;
			}

			ret = readsector(0,buffer,0); 
			if( ret != ERR_NO_ERROR )
			{
				hxc_printf_box(&g_ui_ctx,"ERROR: Read ERROR ! fsector %d [Err %d]",(sector-last_setlbabase)+1,ret);

				return 0;
			}
			last_setlbabase = L_INDIAN(dass->lba_base);

		}while((sector-L_INDIAN(dass->lba_base))>=8);

		ret = readsector((unsigned char)((sector-last_setlbabase)+1),&buffer[i*512],0);
		if( ret != ERR_NO_ERROR )
		{
			hxc_printf_box(&g_ui_ctx,"ERROR: Read ERROR ! fsector %d [Err %d]",(sector-last_setlbabase)+1,ret);
			return 0;
		}

		sector++;

		#ifdef DEBUG
		print_hex_array(buffer,512);
		#endif
	}

	set_char_pos(&g_ui_ctx,g_ui_ctx.screen_txt_xsize - 1, 0);
	print_char(&g_ui_ctx, ' ', INVERTED);

	return 1;
}
int media_write(uint32 sector, uint8 *buffer, uint32 sector_count)
{
	int ret;
	uint32 i;

	#ifdef DEBUG
	dbg_printf("media_write : 0x%.8X\n",sector);
	#endif

	set_char_pos(&g_ui_ctx,g_ui_ctx.screen_txt_xsize - 1, 0);
	print_char(&g_ui_ctx, 1, INVERTED);

	for(i=0;i<sector_count;i++)
	{
		if( sector - last_setlbabase >=8)
		{
			last_setlbabase=sector;
			ret = setlbabase(sector);
			if( ret != ERR_NO_ERROR )
				return 0;
		}

		ret = writesector((unsigned char)((sector-last_setlbabase)+1),buffer);
		if( ret != ERR_NO_ERROR )
		{
			hxc_printf_box(&g_ui_ctx,"ERROR: Write sector ERROR !");
			return 0;
		}

		sector++;
	}

	set_char_pos(&g_ui_ctx,g_ui_ctx.screen_txt_xsize - 1, 0);
	print_char(&g_ui_ctx, ' ', INVERTED);

	#ifdef DEBUG
	print_hex_array(buffer,512);
	#endif

	return 1;
}
示例#5
0
文件: log.c 项目: knoopx/wepattack
void log_uncracked(wlan_packet_list* list) {

	FILE *fp;
	time_t now;

	fp = fopen(logfile,"a");
	now = time(&now);

	while (list->next != NULL) {
		if (!list->cracked) {
			fprintf(fp, "\n");
			print_hex_array(fp, list->frame.bssid, 6);
			fprintf(fp, "\t%d", list->frame.key);
			fprintf(fp, "\tnot cracked\t\t%d sec",
				(int)difftime(now, start_time));
		}
		list = list->next;
	}

	fprintf(fp,"\n");
	fclose(fp);
}