数学建模社区-数学中国

标题: 一个很有趣的小工具:Exe2swf [打印本页]

作者: 韩冰    时间: 2005-3-20 13:46
标题: 一个很有趣的小工具:Exe2swf

来源:lam's blog

. Q) p0 ]- [8 Y7 }" C3 L

最近好象又开始流行播放器里插木马了,我于是在网上转了转,看有没有什么好东西能预防的.

; R9 c J1 |* ]6 Z3 W' Y

结果在安天CERT小组 看到了这个:

9 U2 Z" [* P* y6 n# M8 g$ c

软件名称:exe2swf : y6 P- f9 `) ~* D5 m- F( b适用系统:WIN 9x/ME/2000/NT 8 R$ V$ z! E- f3 y, o- t, R$ ^文件大小:11K4 D# C, `9 m) {6 E 文件说明:FLASH格式文件转换器为了防止有人在可执行的FLASH格式文件(.exe)中夹插木马,或者用flash图标的木马冒充flash文件,编写了一个简单的工具

4 ]: Q# A9 f5 ~. A' r; D- p

下载:http://soft.hackbase.com/37/20050319/6389.html

) n1 F" R+ \' h/ ?. a

哈,但是还有还想不到的呢,我找到了一段可以实验这个功能的代码

+ [) e( `/ B. J6 j2 f* D# l" `3 Z. I( S

作者:海娃

% M5 p& r5 Z% F+ c$ p

用法

6 S7 W6 d3 W# t/ L$ \/ f
    % Y+ ^5 [( ]* {
  1. 将下面代码存为 exe2swf.vbs 5 z8 Y! t3 ~: a0 O, b2 y9 A2 x
  2. 将exe格式的flash拖放在此文件上,即可生成swf文件,
6 i$ E$ E8 |5 Y/ f

/ c3 \2 J& @& P3 z& i. N1 W0 b'haiwa@http://www.51windows.Net- s3 w) {" o8 I3 _: M" o '感谢jimbob提供帮助. # a% _ n4 H$ m/ r. y& edim AsoR,FlashFileName6 u( t' V5 T) J( ?' v4 ? Set ArgObj = WScript.Arguments

) I2 i; H7 H6 O! p5 I: v

dim PositionStart,OKed,Tag,EndSize # k6 l) i0 D8 q; qPositionStart = 920000'flash 4的播放器的大致字节数$ K& Y7 s2 B" h! M1 }; N* R( Z* m EndSize = 8 'exe文件结尾字节数,其它版本可以设置为0 ' z3 i& E1 ]# t6 T" O$ DFlashFileName = ArgObj(0)'传递路径

2 L( d) ^2 O1 ]

set AsoR=CreateObject("Adodb.Stream") / [ E3 h: ^" {AsoR.Mode=3 ; c" @$ S+ H& r+ ?* P/ P AsoR.Type=1 - f7 |! P: Q( t" ^: j% @AsoR.Open a) P- t: E' R2 R* ]8 Y* H! r g! _ set AsoW=CreateObject("Adodb.Stream")5 x6 S) i$ \3 _% ]% s7 R AsoW.Mode=3 4 l0 x+ t1 A! K% h8 L+ oAsoW.Type=1 - k n0 {/ K6 u' N" l) | AsoW.Open7 i' m" n: d' ]5 B" y3 x" E* i AsoR.LoadFromFile(FlashFileName)

9 K Q* _6 \+ N' a/ @' _9 V" p* R

OKed = true 2 ?7 u& f+ p4 t! ?2 m# J9 qdim filesize 6 i3 h2 N0 t+ S% M) zfilesize = AsoR.size

$ Z( X8 A9 b$ i) Q

if filesize>ositionStart then $ k7 ]9 \# A; r v1 Q" C while OKed 0 O+ u$ n y! }3 k) E0 A AsoR.Position = PositionStart8 c6 B9 P! ~" x6 F$ x5 \ Tag = Bin2Str(AsoR.read(20)) 7 ^" X" v- v3 G5 { if instr(Tag,"0000000") >0 then , h8 l( R1 p4 K% f$ z* |5 W* N PositionStart = PositionStart + 1 ' `( c! l/ o' z% {. ?% p else ) y5 V Q4 r+ T PositionStart = PositionStart + 20 9 R) M2 w+ [3 D! \& r6 h, V end if! L8 B" w- C5 Q" ?2 o3 m$ T if Tag = "00000000000000000708783" or Tag = "00000000000000000678783" then * C) c( A1 m3 y& ?3 R OKed = false ! n! ?$ C. a5 g2 { end if # G, \3 E" D- U0 ^3 m0 F 'if PositionStart > filesize then 9 \% ~1 k2 X2 d7 s ' OKed = false1 I* B! d5 |3 S7 [ 'end if' k) k, x# C! I) Y% m" ]3 \ wend - r* i. G+ d% j4 belse . H4 }4 O, W1 l% r' K. B4 ` msgbox "文件错误"' y7 H' Q9 e* D& m) G end if2 Z F Y) N4 s* u% O6 {, z PositionStart = PositionStart + 16 + _+ z8 E- e. e) x$ q) P'msgbox PositionStart2 ^+ ~: W$ T: ]3 h4 N, J AsoR.Position = PositionStart 9 @/ c6 x* G1 r# n. t3 Z- E, X. {AsoW.write AsoR.read(filesize-int(PositionStart)-int(EndSize))

" D3 E- Q3 }$ J8 e2 k# @! x

'新文件名6 k) @9 r) s+ m+ ? Y dim newFileName3 a8 \! ^! O/ t! ` 'newFileName = left(FlashFileName,len(FlashFileName)-4) & ".swf"( @- u2 Y5 I, e* C' m1 T newFileName = FlashFileName & ".swf"

$ c, _( i% {6 G3 s

Set fso = CreateObject("Scripting.FileSystemObject") 6 i" H) A2 J1 D( C+ J sIf (fso.FileExists(newFileName)) Then % k6 f U4 A+ r$ q6 O overwrite = msgbox(newFileName&" 已存在"& vbnewline &"要替换它吗?",308,"文件已经存在 - exe2swf脚本") , l b* W E3 a6 z, h9 W if overwrite=6 then 3 f1 u; N3 |7 | r# y AsoW.SaveToFile newFileName, 24 w" i/ G; C/ Z4 [0 L( ~ else9 a' s. P/ Z. H+ W$ W# k msgbox "操作被取消",0,"exe2swf脚本" 9 s; w- U3 `; z9 ~8 q3 z end if( |/ `# n+ k7 u. K8 F ]0 X else5 y% ?- |1 J2 k6 p0 n3 y5 e AsoW.SaveToFile newFileName, 12 H- k7 q* k0 c2 d6 G% f$ d end if

/ d, O7 m3 ^: A; f

AsoR.close7 R2 _6 G& G. V set AsoR=nothing9 v. ^$ N: H5 C9 h: V& T AsoW.close 3 j5 E! \7 \5 A8 W0 Vset AsoW=nothing

; d) f6 V$ m/ ~% _' F# ~4 N% N$ V) F

Function Bin2Str(Bin)3 x: x2 Q" v5 e/ y Dim I, Str' e5 O: K7 o7 W z4 ~2 M( R For I=1 to LenB(Bin) 1 ^$ I; L8 D) v' x* e3 ]% ] clow=MidB(Bin,I,1) 1 A1 O/ b5 I" D if ASCB(clow)<128 then : S) F8 f5 {& z6 u8 B2 f, @ Str = Str & (ASCB(clow)) # d# w! s+ X6 Z& N3 D5 y else 1 k) |! q# z- {( F; C9 w* K9 @ I=I+1 2 L, B3 G: D5 X if I <= LenB(Bin) then Str = Str & (ASCW(MidB(Bin,I,1)&clow)) 5 k* A% A" \/ L J* G% x end if ) r0 n8 w3 U( W. P) I Next 8 w9 e6 Q5 _2 G; K; r" U Bin2Str = Str z, F' I: \; f/ o2 k) F- tEnd Function

' w6 H9 q; |- i* J# ^

3 T$ ?" d/ s' b$ {* U! Y: R6 J9 b


作者: 540982016044    时间: 2010-1-17 18:13
从哪里开始啊,麻烦给个分割线吧,谢谢
作者: 小旋风假    时间: 2010-1-22 20:04
是呀,分不清呀…………………………
作者: 413009449    时间: 2011-9-16 21:59
不知道有什么用
作者: lynli    时间: 2012-2-1 18:57





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5