下载指定URL的资源

最近在一些地方看过一个叫做下载者这样的木马程序(也可以叫恶意程序,准确的定义要看看他是怎么写的)。一时兴起就写下了这么一段~~~。
#include <stdio.h>
#include <Windows.h>
#include <Urlmon.h>
#pragma comment (lib, "Urlmon")
char* getSelfPathName(char szBuff[], int len)
{
int i,j;
ZeroMemory(szBuff, len);
GetModuleFileNameA(NULL, szBuff, len);//取得程序自身的全路径
// 从后向前找到第一个'\'
int idx;
for ( idx = len-1; idx >= 0; --idx)
{
 if ( szBuff[idx] == '\\' )
 {
  break;
 }
}
strcpy_s(szBuff+idx+1,len-idx-1, "mma.rar");
for (i=0;i<MAX_PATH-1;i++)
{
 if (*(szBuff+i)=='\\')
 {
  for (j=MAX_PATH-1;j>=i;j--)
  {
   *(szBuff+j)=*(szBuff+j-1);
  }
  *(szBuff+i)='\\';
   i++;
 }
}
return szBuff;
}
int main()
{
char *pszUrl = "http://bbs.fishc.com/forum.php?mod=attachment&aid=NDU1M3xjNGI3YmQ0OHwxMzc0MDcxNDkzfDIxMzg3NnwxNzg1NQ%3D%3D";
char cSelfPath[MAX_PATH]={0};
printf("%s",getSelfPathName(cSelfPath,MAX_PATH));
if(URLDownloadToFile(NULL, pszUrl, getSelfPathName(cSelfPath,MAX_PATH), NULL, NULL)==S_OK)
{
 printf("下载成功!~~~");
}
getchar();
return 0;
}
这个程序成功实现了,从URL下载指定的资源。前面为什么说这么一个下载程序是恶意程序,或者木马呢?其实这里是我故意删去了一个执行的函数。使得它并不具备破坏性和恶意性~~~~
我们可以试想下。如果我指定下载的是一个木马呢?然后通过隐藏运行它~~~~~~可想而知它的破坏有多大。
这段代码看似很长其实。一点都不难~~~它的很想就是
if(URLDownloadToFile(NULL, pszUrl, getSelfPathName(cSelfPath,MAX_PATH), NULL, NULL)==S_OK)
{
 printf("下载成功!~~~");
}
这段代码仅此而已~~~前面一个函数只是要取得一个存放路径的全部路径。通过它的低二个参数能够成功的下载一个指定URL 的内容~~~~
函数说明~~~~~~
URLDownloadToFile
库:Urlmon
下载网络下的指定文件并保存到本地
返回值
S_OK 成功
E_OUTOFMEMORY 缓冲区长度无效,没有足够的内存来完成操作
INET_E_DOWNLOAD_FAILURE 失败
格式
URLDownloadToFile  pCaller, szURL, szFileName, dwReserved, lpfnCB
参数 说明
pCaller 控件的接口,如果不是控件则为0.
szURL 指向一个要下载的url地址的字符串,不能为空.
szFileName 指向一个要保存文件名称地址的字符串
dwReserved 系统保留为空,必需为0
lpfnCB 指向一个系统shell(IBindStatusCallback)的指针,可以用来获取下载进度状态回调,可以为空
备注:

Top


          PS:那个URL可能会失效哈~~~~给位拿去玩的时候给改改~~~~                                                                                    


                                                                                                                                                                                        ID:Crazy迷恋


你可能感兴趣的:(C++,c,资源,程序,include,comment)