Demo


Code

.386
.MODEL flat, stdcall
OPTION CASEMAP:NONE
Include windows.inc
include kernel32.inc
include user32.inc
Include masm32.inc
Include shell32.inc
Include Comctl32.inc
Include oleaut32.inc
Include macros.asm
includelib kernel32.lib
includelib user32.lib
IncludeLib masm32.lib
IncludeLib shell32.lib
include masm32rt.inc
include urlmon.inc
includelib urlmon.lib .data HelloMsg DB "[*] WgetEx 1.0 By Yaseng ", 0
szDownInfo DB '[+] start ownload url:%s file:%s',00Ah, 00Dh,0 .code
Start:
call main
invoke ExitProcess, 0 main proc LOCAL szUrl[260]:BYTE
LOCAL szFileName[260]:BYTE
LOCAL buffer[260]:BYTE
print SADD("[*] WgetEx 1.0 By Yaseng ",13,10)
sub eax,eax
invoke GetCL,1,ADDR szUrl
.if eax != 1
print SADD("[-] url parameter is missing",13,10)
call help
ret
.endif
invoke GetCL,2,ADDR szFileName
.if eax != 1
print SADD("[-] file parameter is missing",13,10)
call help
ret
.endif invoke wsprintf,addr buffer,addr szDownInfo,addr szUrl,addr szFileName
invoke StdOut,addr buffer
invoke URLDownloadToFile,0,addr szUrl,addr szFileName,0,0
invoke exist,ADDR szFileName
.if eax != 1
print SADD("[-] download av failed !!! ",13,10)
.else
print SADD("[+] download av succeed !!! ",13,10)
.endif
ret
main endp help proc print SADD("[*] WgetEx :Thunderbolt Download program",13,10)
print SADD("[*] Usage :WgetEx http://yaseng.me/av.rmvb av.rmvb",13,10) ret help endp End Start

 Donwload

https://github.com/yaseng/pentest/tree/master/project/wgetex

win32 汇编打造 wget 体积3kb的更多相关文章

  1. win32汇编基础

    win32汇编基础知识 Debug 版本|Release 版本 Debug 是"调试"的意思,Debug 版本就是为调试而生的,编译器在生成 Debug 版本的程序时会加入调试辅助 ...

  2. Win32汇编环境配置

    放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...

  3. Win32汇编开始 Hello Asm

    今天开始学习Win32汇编 因为自己很多都是Windows方面 所以 接触一下Win32汇编 . ;.386指令集 .model flat,stdcall ;工作模式 option casemap:n ...

  4. Win32汇编学习(5):绘制文本2

    这次我们将学习有关文本的诸多属性如字体和颜色等. 理论: Windows 的颜色系统是用RGB值来表示的,R 代表红色,G 代表绿色,B 代表蓝色.如果您想指定一种颜色就必须给该颜色赋相关的 RGB ...

  5. Win32汇编学习(4):绘制文本

    这次,我们将学习如何在窗口的客户区"绘制"字符串.我们还将学习关于"设备环境"的概念. 理论: "绘制"字符串 Windows 中的文本是一 ...

  6. Win32汇编学习(1):基本概念

    背景知识 Windows 把每一个 Win32 应用程序放到分开的虚拟地址空间中去运行,也就是说每一个应用程序都拥有其相互独立的 4GB 地址空间,当然这倒不是说它们都拥有 4GB 的物理地址空间,而 ...

  7. 如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)

      如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)1.首先要下载我提供的软件包(里面已经包含所有所需软件); 2.把它解压到D盘根目录下(如果需要安装在其它的地方,请注意设好路径); ...

  8. 罗云彬win32汇编教程笔记 子函数的声明, 定义与调用

    在主程序中用call指令来调用子程序. Win32汇编中的子程序也采用堆栈来传递参数,这样就可以用invoke伪指令来进行调用和语法检查工作. 一. 子程序的定义 子程序的定义方式如下所示. 子程序名 ...

  9. 【Win32汇编】编译环境配置

    开始学习[Win32汇编],编译过程较为繁琐,做个记录. 使用 MASM32 提供的 ml.exe 和 link.exe,以及 VS2013 中的 nmake.exe 和资源编辑器. ml.exe: ...

随机推荐

  1. datetime时区转换

    http://www.dannysite.com/blog/122/ Python标准库中的datetime模块提供了各种对日期和时间的处理方法.从本文的主题着手,首先利用datetime中提供的ut ...

  2. win7设置防火墙允许Ping与telnet

    Ping: 打开控制面板 >> 系统安全 >> windows防火墙 >> 高级设置 >> 入站规则

  3. 解决PHP生成校验码时“图像因其本身有错无法显示”的错误

    今天使用http://crazymud.iteye.com/blog/452293给出的代码进行PHP生成校验码功能的实现,发现firefox一直提示“图像.......因其本身有错无法显示”的问题, ...

  4. pytest学习笔记(三)

    接着上一篇的内容,这里主要讲下参数化,pytest很好的支持了测试函数中变量的参数化 一.pytest的参数化 1.通过命令行来实现参数化 文档中给了一个简单的例子, test_compute.py ...

  5. C#调用C dll,结构体传参

    去年用wpf弄了个航线规划软件,用于生成无人机喷洒农药的作业航线,里面包含了不少算法.年后这几天将其中的算法移植到C,以便其他同事调用.昨天在用C#调用生成的dll时,遇到一些问题,折腾了好久才解决. ...

  6. contentSize、contentInset和contentOffset的区分

    一.  frame.bounds和center的区分 frame:由左边原点和矩形面积组成,其中原点代表其在父视图中的起点位置. bounds:就是原点始终为(0,0)的frame. center:本 ...

  7. Orchard官方文档翻译(七) 导航与菜单

    原文地址:http://docs.orchardproject.net/Documentation/Navigation-and-menus 想要查看文档目录请用力点击这里 最近想要学习了解orcha ...

  8. Windows Azure - App Services

    1. 需要了解的概念:App Service Plan, Resource Group 2. Create an ASP.NET web app in Azure App Services 3. Cr ...

  9. Lambda表达式有何用处?如何使用?

    简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数.这一用法跟所谓 λ 演算(题目说明里的维基链接)的关系,有点像原子弹和质 ...

  10. 关于javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>

    今天遇到这样一个异常: 严重: Servlet.service() for servlet jsp threw exceptionjavax.servlet.jsp.JspTagException: ...