decode_socks.c

来自「一个网络工具包,可以嗅探email和http等数据包中的密码等信息.注意要先把l」· C语言 代码 · 共 59 行

C
59
字号
/*  decode_socks.c  NEC SOCKS.    Copyright (c) 2000 Dug Song <dugsong@monkey.org>   $Id: decode_socks.c,v 1.3 2000/11/06 14:08:43 dugsong Exp $*/#include "config.h"#include <sys/types.h>#include <stdio.h>#include <string.h>#include "decode.h"intdecode_socks(u_char *buf, int len, u_char *obuf, int olen){	u_char *p;	int i, n;		p = buf;		if (len < 4 || *p++ != 5)		/* SOCKS version */		return (0);		if ((n = *p++) > len - 5)		/* nmethods */		return (0);		for (i = 0; i < n; i++)			/* USERNAME/PASSWORD method? */		if (p[i] == 2) break;		if (i == n) return (0);		p += n;	if (*p++ != 1) return (0);		/* USERNAME/PASSWORD version */		n = *p++;	if (n > len - (p - buf))		return (0);		memmove(p - 1, p, n); p[n - 1] = '\0';	snprintf(obuf, olen, "%s ", p - 1);	p += n;		n = *p++;	if (n > len - (p - buf))		return (0);		memmove(p - 1, p, n); p[n - 1] = '\0';	strlcat(obuf, p - 1, olen);	strlcat(obuf, "\n", olen);		return (strlen(obuf));}

⌨️ 快捷键说明

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