首页
社区
课程
招聘
[求助]URLDownloadToFile 被杀
发表于: 2011-1-17 17:00 13974

[求助]URLDownloadToFile 被杀

2011-1-17 17:00
13974
我想实现,下载软件,后自动运行安装向导。老被杀,有啥方法了?

我测试了个api 加密,就是ping 一下,还被杀,大家有啥好方法。
下面是我写的,测试的。

#include <windows.h>
#include <Urlmon.h>

#include <stdio.h>
typedef BOOL (__stdcall * mycreate)(LPCWSTR ,
LPCSTR,
LPSECURITY_ATTRIBUTES ,
LPSECURITY_ATTRIBUTES ,
BOOL ,
DWORD ,
LPVOID ,
LPWSTR ,
LPSTARTUPINFOA ,
LPPROCESS_INFORMATION
);
mycreate myc;
char str1[20] = { "Create"};
char str2[20] = { "ProcessA"};
char * getAString()
{


strcat(str1, str2);
return str1;
}
void main()
{
HMODULE hMod;
BOOL bResult = FALSE ;
printf("star....\r\n");
TCHAR *szURL = "http://down.360safe.com/inst.exe";
TCHAR *szFileName = "D:\\inst.exe";


URLDownloadToFile(
NULL,
szURL,
szFileName,
0,
NULL
);

printf("over....\r\n");
hMod = GetModuleHandle("Kernel32.dll");
TCHAR szAppName[_MAX_PATH] = TEXT("D:\\inst.exe");//




if(NULL != hMod)
{

myc = (mycreate)GetProcAddress(hMod, getAString());
}
printf("str %x",myc);

// ShellExecute(NULL,"open",szAppName,"",NULL,SW_SHOWNORMAL);


STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si,sizeof(si));
si.cb=sizeof(si);
ZeroMemory(&pi,sizeof(pi));

myc(NULL,szAppName, NULL, NULL,FALSE, 0, NULL, NULL, &si,&pi);



}




[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (25)
雪    币: 235
活跃值: (129)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你这是老招数了,只能对付05年以前的杀软.而且你这个应该不是被扫描出是病毒,而是行为判断.技术问题就不讨论了,八仙过海,都有自己的方法,不过公布了就害人害己了,呵呵.

说说其他的吧,如果你想骗别人(杀软),就要让别人相信你,所以不要做别人防范的事
2011-1-17 21:27
0
雪    币: 245
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
晕,楼上的和没说一样,显示自己水平高啊。
如果你想骗别人(杀软),就要让别人相信你,所以不要做别人防范的事

一些游戏不就是,下载器后,自己运行安装向导嘛。算了,用curl了,太废话了。
2011-1-18 09:58
0
雪    币: 266
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
人家有签名  你有吗
2011-1-18 11:15
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
正规的话, 可以买认证,买签名; 病毒的话, 危害社会没前途的
2011-1-18 11:46
0
雪    币: 245
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
那不得花钱嘛。
2011-1-18 13:39
0
雪    币: 2323
活跃值: (4113)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
7
这样直接用函数不被杀才怪~~嘿嘿~~多动动脑子吧或像上面说的花点钱搞数字签名~~
2011-1-18 15:05
0
雪    币: 235
活跃值: (129)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
坛子里有人语气总是很重,说话总感觉别人针对他?
我完全没有显耀的必要,个人认为我给你的答复是最合理的,主动防御的软件都具有收集行为,并在之后填加规则的机制,以坛子内的高手云集,估计方法不下几百种,但思路无外忽几种,我点出的就是个其中一个思路,看你理解能力了.

通常你要的答案别人给出了就是见光死,所以几乎没人会给,当然论坛里有不少人公开过类似的手段,但不见得现在都有效,但那些都是思路的启发.

唠叨了半天,不说点实际的你可能又会感觉不爽,给你种解决方案吧,看你能理解到什么程度了.顺着楼上的思路,要签名,你不可能弄到的情况下很多软件有签名,而签名的软件有安全漏洞,例如某公司的某输入法,使用率很高,这个输入法有个问题,会把当前目录设置为输入对象所在的路径,说到这,这种软件很多,一抓一把
2011-1-19 00:55
0
雪    币: 88
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼上大牛,我太菜了,我理解了都不知道对不对,请教一下你是想利用您说的漏洞将我的程序作为XXXX放进去?
2011-1-19 01:58
0
雪    币: 245
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
会把当前目录设置为输入对象所在的路径

完全的不懂。你说话太含蓄了。

不要漏洞,不要数字签名。

就通过技巧不让杀毒软件杀,又不是病毒。

例如:通过注入到explode.exe ,执行createProcess. 好像应该可以,但没试。
完全的病毒行为,不破坏别人的东西。和平相处。就通过,技巧。

或者,释放,一个.dll , 在.dll 里调用。creatProcess. 那么就过了,杀毒的行为判断。

就像上面那样解释一下,或者给个提示,我反正觉的你说的就没用。可能我理解力不行。

你能给个别的提示么或者思路,而不是那么含蓄的?
2011-1-19 10:33
0
雪    币: 245
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
先过了,下载后,不被杀。 执行的时候,杀不杀先不管。
2011-1-19 10:34
0
雪    币: 235
活跃值: (129)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
当然要含蓄,设置为当前目录是个不正常的行为,但不是说这个动作本身有问题,而是结合这个软件的特征会造成一系列问题。这个不展开了。

总结下前面说的思路:就是自己的软件没权限用别人的软件,不一定要有漏洞,系统内有很多加载机制可以使用,例如dll搜索顺序。关键还是对系统机制了解的多少。

至于你的那几种做法,都是在主动防御的规则之下,你说你不是病毒,但是不是病毒的结果不是你下,而是杀软。你的做法最大的问题就是没用户交互就私底下做一些动作,而这些动作都是主防所不容忍的,包括线程注入。

主防本身也是人定的规则,规则就会有遗漏,只是不是每个人都有机会找到,这个要看你对主防软件的分析程度,和对系统加载的理解能力。
而主防防御的主要是保护系统,对于第三方软件虽然也有保护,但相对较弱,从第三方入手是最容易实现的
2011-1-19 14:29
0
雪    币: 245
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
这种方法为什么不会被杀?

HINTERNET internetopenurl;
internetopenurl=InternetOpenUrl(internetopen,"http://down.360safe.com/inst.exe",NULL,0,INTERNET_FLAG_RELOAD,0);
if (internetopenurl==NULL)
{
printf("Internet open url failed!\r\n");

}

BOOL hwrite;
DWORD written;
HANDLE createfile;

createfile=CreateFile("d:\\inst.exe",GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if (createfile==INVALID_HANDLE_VALUE)
{
printf("Create File failed!\r\n");

}

BOOL internetreadfile;

while(1)
{
internetreadfile=InternetReadFile(internetopenurl,buffer,sizeof(buffer),&byteread);
if(byteread==0)
break;
hwrite=WriteFile(createfile,buffer,sizeof(buffer),&written,NULL);
if (hwrite==0)
{
printf("Write to file failed!\r\n");

}
}

printf("Finished downloading!\r\n");
ShellExecute(NULL,"open",szAppName,"",NULL,SW_SHOWNORMAL);
2011-1-19 16:02
0
雪    币: 70
活跃值: (74)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
你要是自己实现一部分URLDownloadToFile,再试试
2011-1-19 16:14
0
雪    币: 245
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
我实现urldownloadfile 干嘛啊,我用它就行了呗,哈哈。

urldownloadfile node32报 其他不报

InternetReadFile node32不报, 360报。
2011-1-19 16:48
0
雪    币: 235
活跃值: (129)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
这就是我前面说的规则,也是其他人要你弄签名的原因,我感觉你要先弄清主动防御究竟是个什么东西,主动防御虽然主要是从技术方面讨论的,但在极端情况下就是"白名单"机制,也就是签名了,是一个不需多少技术的强力手段
2011-1-19 22:26
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
17
URLDownloadToFile 被杀的话,以下几个方法可以解决

1:先定位URLDownloadToFile地址,自己实现 URLDownloadToFile函数头的代码,然后直接jmp过去
2:封装一个类似于URLDownloadToFile函数,然后内部重定位下。一般杀软基本老悲剧了。
3:过启发的话,先把URLDownloadToFile函数放到新申请的内存,然后直接从该地址进行解析。
4:分析目标程序调用URLDownloadToFile函数的流程,直接改写他的流程,注意不是实现URLDownloadToFile函数头JMP,而是实现目标程序调用的CALL,这样一部分AV又老悲剧了。
5:更换某个老悲剧杀软的IAT表,貌似可X就这么过的。

TCHAR *szFileName = "D:\\inst.exe";

NEW一块内存然后把文件路径转成字节码,存放到该内存偏移上,要是像免杀更好些,直接往AV里面搞!

楼主可以参考下我这个例子
上传的附件:
2011-1-20 10:25
0
雪    币: 348
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
都不错,不过还是“plume ”的方法比较直接可行,XXX输入的使用率确实很高。

分析过几套TX的G都是如此做的。
2011-1-20 17:24
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
URLDownloadToCacheFile
2011-1-20 18:47
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
20
直接实现ShellExecute调用,被报风险的可能性很大。
2011-1-20 21:18
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
WinInet or Socket
上传的附件:
2011-1-21 03:18
0
雪    币: 27
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
完全接受不了熊猫这头像。
2011-1-27 19:44
0
雪    币: 278
活跃值: (709)
能力值: ( LV15,RANK:520 )
在线值:
发帖
回帖
粉丝
23
顶哈正正,正正的方法不错
2011-2-4 15:00
0
雪    币: 21
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
send recv writefile 说完..自己实现`
2011-2-17 22:40
0
雪    币: 326
活跃值: (41)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
25
直接自己分析HTML了。哈哈。指不定,搞明白了,都能写个浏览器了。
2011-2-18 23:29
0
游客
登录 | 注册 方可回帖
返回
//