鱼C论坛

 找回密码
 立即注册

下载指定URL的资源

热度 3已有 1232 次阅读2013-7-18 11:41 |个人分类:C\C++

最近在一些地方看过一个叫做下载者这样的木马程序(也可以叫恶意程序,准确的定义要看看他是怎么写的)。一时兴起就写下了这么一段~~~。
#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 的内容~~~~
函数说明~~~~~~
库: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)的指针,可以用来获取下载进度状态回调,可以为空
备注:

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


                                                                                                                                     ID:Crazy迷恋
 

路过

鸡蛋

鲜花
3

握手

雷人

刚表态过的朋友 (3 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 10:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部