数学建模社区-数学中国

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

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

来源:lam's blog

d; D0 M) K5 o

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

7 l5 F @+ n4 o" K# p {( @; V

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

# U8 }0 `7 b! N

软件名称:exe2swf ( y# S4 h+ y8 L1 R8 ^( j# Q适用系统:WIN 9x/ME/2000/NT! y. s. E9 \, O0 u5 t 文件大小:11K/ G, f% f, f w2 { 文件说明:FLASH格式文件转换器为了防止有人在可执行的FLASH格式文件(.exe)中夹插木马,或者用flash图标的木马冒充flash文件,编写了一个简单的工具

8 |$ u+ T H: j' ~4 s! E$ `

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

) w! d& d! z& h: g/ i9 R

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

4 `$ T% P1 Z9 E2 p$ n) M" ?

作者:海娃

* Z" D: i- e9 M2 r" s

用法

! Z; @2 j5 B7 M9 y0 \
    / M1 x- t) ^1 Q) K9 }
  1. 将下面代码存为 exe2swf.vbs ) S; `1 _- D6 ^. a
  2. 将exe格式的flash拖放在此文件上,即可生成swf文件,
?2 P" ?$ q( O8 P0 P

0 N8 _( h. f) W'haiwa@http://www.51windows.Net $ @! R4 s+ F4 u5 }6 R% }/ h x1 ?0 {'感谢jimbob提供帮助.1 T8 w: w: m# b2 E7 u0 O. K" p dim AsoR,FlashFileName" r+ x6 ^: W/ ?& W Set ArgObj = WScript.Arguments

/ J5 J6 L, [+ v' h

dim PositionStart,OKed,Tag,EndSize + c0 T' Z) r/ r9 S8 NPositionStart = 920000'flash 4的播放器的大致字节数 2 B, z9 @1 ]2 dEndSize = 8 'exe文件结尾字节数,其它版本可以设置为08 ?/ v" \0 f8 g: x. M+ ^ FlashFileName = ArgObj(0)'传递路径

9 t T) {9 c! q: V8 A+ i

set AsoR=CreateObject("Adodb.Stream") ; L; W D1 ~9 y0 ]' [( SAsoR.Mode=3 ; l. e& O5 u9 @0 fAsoR.Type=1 : g% a8 D. |1 z, t5 \( ^AsoR.Open " V% K+ f! @$ J' I. c' q/ N7 y set AsoW=CreateObject("Adodb.Stream") & m) r) E( b; N' `6 B8 k1 [AsoW.Mode=3 ) r/ k( ^- _6 a8 |# f; Q AsoW.Type=1 1 a$ e- r9 E% X: o- Z) Z8 C) tAsoW.Open ! R5 o$ @/ {5 p6 \. N& r" @5 iAsoR.LoadFromFile(FlashFileName)

& n( r, l6 _. l

OKed = true! w/ Y. I& u% ], c+ N q! {# u: H# j dim filesize- x: T7 \1 ^2 B) k' l! Q- N3 ^4 ` filesize = AsoR.size

1 t7 g. I" C% z0 W

if filesize>ositionStart then2 g, r: ^& q/ P+ ^# [) K while OKed ; I& E1 |2 c5 @8 v1 b AsoR.Position = PositionStart/ S) ]0 E7 z( q Tag = Bin2Str(AsoR.read(20)): A! C+ _5 D p' d" y. v2 N if instr(Tag,"0000000") >0 then0 A4 M# m* j9 L8 R PositionStart = PositionStart + 1 - C( X# {( s% b0 w- E$ P3 w# A else8 b: q" d! {! T/ g* E9 [. C6 M7 m PositionStart = PositionStart + 203 q& V/ `2 r+ C9 F; i: C1 R9 U end if9 [: k J9 j0 Y$ ~( p' s if Tag = "00000000000000000708783" or Tag = "00000000000000000678783" then 1 l3 k, L! X9 N2 s2 v8 p7 F; z OKed = false# A, x% `: o1 j1 y* S: c7 L end if' p9 C/ P7 ]9 B+ {( U% N 'if PositionStart > filesize then ' l& W1 G( Z" M3 C& @' }: o- P5 }5 A ' OKed = false G! Q8 ]/ u& f5 d+ I# A 'end if / J0 V1 @. [1 B: @ wend , O4 G! H& ^9 N! [4 Y! J( uelse9 p( a$ O; e. w1 U1 @ msgbox "文件错误" # H9 u. K& Z& R) ~! p0 B# _end if : h; r6 E& ]( ?. sPositionStart = PositionStart + 16% [ I: q9 l6 b; h0 g# X) F 'msgbox PositionStart 8 i0 u7 P1 j4 p5 Y$ B+ Q& s4 MAsoR.Position = PositionStart " @& f) u" ~- O! _. {1 pAsoW.write AsoR.read(filesize-int(PositionStart)-int(EndSize))

r: Y1 c) O. t) ] L3 d% Q( C

'新文件名; ~2 n+ h. \0 {2 L$ x2 ] dim newFileName7 q' Y7 L& H3 s- o9 D 'newFileName = left(FlashFileName,len(FlashFileName)-4) & ".swf" + R3 g9 l' o8 T* o6 ?$ snewFileName = FlashFileName & ".swf"

* N# J9 U X- K$ P

Set fso = CreateObject("Scripting.FileSystemObject") 3 k" t' D% k' x9 U2 o9 kIf (fso.FileExists(newFileName)) Then + C. B$ p4 o& x" m) C overwrite = msgbox(newFileName&" 已存在"& vbnewline &"要替换它吗?",308,"文件已经存在 - exe2swf脚本") 6 y+ m, \) Y8 H; i if overwrite=6 then- k. o& _3 u- }/ q AsoW.SaveToFile newFileName, 2 " |- D( t' v9 Y% ~ else ( s& k, I. _1 C ^ msgbox "操作被取消",0,"exe2swf脚本"- g$ u U* ?$ k/ I/ N/ B& p* c end if % k4 h2 B: ]3 [5 Kelse# k! W% i2 _& m- d" I. c: d: z AsoW.SaveToFile newFileName, 1& r0 @; n9 g5 t- g/ G end if

6 u* {% s( g8 w' p6 p9 H1 H5 w5 t

AsoR.close ( B; ?/ x* }1 o) L# aset AsoR=nothing / E; V" P* J) z: zAsoW.close. h4 t' W- E- r set AsoW=nothing

9 v1 I/ c9 u1 c0 S$ N' x

Function Bin2Str(Bin)4 W2 ?, f; O9 |/ [8 f- ? Dim I, Str + A$ [+ \% f; e `7 q4 c For I=1 to LenB(Bin)8 m- B6 Y, U4 N. s clow=MidB(Bin,I,1) * ? C+ K8 {' X if ASCB(clow)<128 then1 o7 d5 H* D4 X5 h3 W Str = Str & (ASCB(clow)) 8 i+ v3 Z5 z% H9 w+ N+ C+ g else / M) Z9 K' }4 i+ L I=I+1. y; y& x4 S f1 ?8 Q: X if I <= LenB(Bin) then Str = Str & (ASCW(MidB(Bin,I,1)&clow)) ) x- k8 G) e+ N6 f% L8 H& U; @1 u end if 9 N- E. W6 e4 S7 _ E2 i& \0 ~ Next - j. D/ p+ @7 v% t, T Bin2Str = Str3 k, S( }/ }$ u" k8 o' r End Function

* ^6 z/ _) E$ X

; O$ P$ l" @2 f& q


作者: 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