win32 汇编打造 wget 体积3kb
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的更多相关文章
- win32汇编基础
win32汇编基础知识 Debug 版本|Release 版本 Debug 是"调试"的意思,Debug 版本就是为调试而生的,编译器在生成 Debug 版本的程序时会加入调试辅助 ...
- Win32汇编环境配置
放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...
- Win32汇编开始 Hello Asm
今天开始学习Win32汇编 因为自己很多都是Windows方面 所以 接触一下Win32汇编 . ;.386指令集 .model flat,stdcall ;工作模式 option casemap:n ...
- Win32汇编学习(5):绘制文本2
这次我们将学习有关文本的诸多属性如字体和颜色等. 理论: Windows 的颜色系统是用RGB值来表示的,R 代表红色,G 代表绿色,B 代表蓝色.如果您想指定一种颜色就必须给该颜色赋相关的 RGB ...
- Win32汇编学习(4):绘制文本
这次,我们将学习如何在窗口的客户区"绘制"字符串.我们还将学习关于"设备环境"的概念. 理论: "绘制"字符串 Windows 中的文本是一 ...
- Win32汇编学习(1):基本概念
背景知识 Windows 把每一个 Win32 应用程序放到分开的虚拟地址空间中去运行,也就是说每一个应用程序都拥有其相互独立的 4GB 地址空间,当然这倒不是说它们都拥有 4GB 的物理地址空间,而 ...
- 如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)1.首先要下载我提供的软件包(里面已经包含所有所需软件); 2.把它解压到D盘根目录下(如果需要安装在其它的地方,请注意设好路径); ...
- 罗云彬win32汇编教程笔记 子函数的声明, 定义与调用
在主程序中用call指令来调用子程序. Win32汇编中的子程序也采用堆栈来传递参数,这样就可以用invoke伪指令来进行调用和语法检查工作. 一. 子程序的定义 子程序的定义方式如下所示. 子程序名 ...
- 【Win32汇编】编译环境配置
开始学习[Win32汇编],编译过程较为繁琐,做个记录. 使用 MASM32 提供的 ml.exe 和 link.exe,以及 VS2013 中的 nmake.exe 和资源编辑器. ml.exe: ...
随机推荐
- 理论沉淀:RANSAC算法
1.解决问题: 当一组样本数据中含有(较小波动的)正常数据(inliers)和(较大波动的)异常数据(outliers)且异常数据的量还不小于正常数据的量时,用最小二乘法将难以获得期望的直线(即能拟合 ...
- Python第九章模块和包
1.import Python文件的时候文件名不能跟Python中自带的关键字重复,否则无法使用关键字的方法. 2.Reload(),重载例子 import sysreload(sys)sys.set ...
- (转)C# SSL-X509使用
X.509 给出的鉴别框架是一种基于公开密钥体制的鉴别业务密钥管理.一个用户有两把密钥:一把是用户的专用密钥(简称为:私钥),另一把是其他用户都可得到和利用的公共密钥(简称为:公钥).该鉴别框架允许用 ...
- mysql information_schema
SELECT TABLE_NAME,COLUMN_NAME,CHARACTER_MAXIMUM_LENGTH,COLUMN_COMMENT FROM COLUMNS WHERE TABLE_SCHEM ...
- Junit4
package test.code; import static org.junit.Assert.*; import org.junit.Test; import code.MyCode; publ ...
- Windows 2008下部署Exchange Server 2007
对于很多政府及企业来说,微软的邮件服务器Exchange Server都是一个不错的通信和协作平台选择,尤其新版邮件服务器Exchange Server 2007 和OCS的组合,在微软UC平台上创下 ...
- vc调用dll 示例
其实,调用dll文件的方法很多,不一定要使用LoadLibrary函数.如果使用的话,你就要预先声明dll中的函数,很麻烦. 下面是我使用dll时的一点技巧,就是引入lib文件,可以参考: 一.Win ...
- Cocos2dx老版本适配64位
1.出现"__curl_rule_01__ "错误 解决方法: 下载新的第三方libcurl库.替换掉libcurl相关的库和头文件,libcul.a .h文件. 相关路径:co ...
- Android开发-API指南-<uses-feature>
<uses-feature> 英文原文:http://developer.android.com/guide/topics/manifest/uses-feature-element.ht ...
- c#中using System.Runtime.Serialization.Json;不能引用
原因:生成项目对于的.net版本是2.0的.需要手动切换成4.0 操作步骤:右键项目,属性页面,下拉框选择最高版本.net 截图: