分析教程内有QQ邮件 已经过期7 d1 \ m, j. x7 w9 I# s
等FTP好了我再上传
3 m4 v" |1 f; f. f
1 w1 Z6 A( Z% Q8 {; S) X* u8 [% c& ^4 u3 O+ {. }; e
上传完毕$ R6 X e- r$ A+ j% Z; y
ftp好像上传了看不到下载目录..或许我的账号有误吧
6 Y" @ K9 \* B- C% \
( o' B U/ Z; \! z9 {$ ? ~6 G写了那么久,值得鼓励一下吧~回帖吧~% E" {% \) ^. l# n+ p
t( W, g5 E2 ^: K7 |刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码4 c" u, ~3 t% |$ ?# H% i
: g, p# o9 E( \" Q2 n9 u
9 _! x. x5 k: M) ? { D5 s
! h& C7 M7 h. i/ O/ M$ C& U. u. [( ]; p* m7 N9 ^
' |4 |( x Q& J
! h2 g C8 f( m$ r: Q! E[strike]QQmail上传ing...[/strike]
0 h+ L. {, y; d [4 l7 I
( W9 U( i' b; ?/ m& R! F! m5 G教程分上下,A是准备工作和废话% \# j8 t; f* V5 T
B是废话+操作7 H( g9 N3 ^0 C- F V) n4 d
" n1 @# Z9 ]& k0 r! S
水品有限...所以东西自然也有限,高手自觉略过吧...../ r1 n# B% J% {! W: o
: I$ P5 _; O% Q. s5 z主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...
) |6 e" j$ j- x2 g! W# ^% R3 c5 d: K: {: \
教程补充:
& N* Q. n K* R% V3 |这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。 |% J& d# x: a4 s( j# h
本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。
/ u: E7 ~1 Q& Y, \$ A- j W操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php) X; H$ u ]: A" B: I, f
如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的]
; ~! @7 T7 a! R$ l# v* m7 ^例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和
- s+ M2 x4 J& Y+ M2 a. X; w注销使用了的变量,我放到程序结束的时候了。
+ B8 t( X6 w s& y0 \程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,) q6 S$ y% @- A! e( _. G4 D
那个indexB,的范围改成图片的数量就可以了,估计是手误吧... % Z; N6 S. [: r( G, g* m9 K- D8 q$ P
前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取- I: x" P2 P$ ~) t7 B/ W
看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断+ L4 M3 X0 O* y! t
我去学习了,所以去踩博客吧~呵呵~
Y/ q4 a% p6 O/ N( D' a3 t0 a; p" a- Private Sub FirUnPack2()
- Dim strPathLen As Integer
- Dim strPathChar() As String * 1
- Dim strResPath As String
- Dim intSize As Integer
- Dim bData() As Byte
- Dim lngSize As Long
- Dim strFilePath As String
- Dim tmpStep As Single, lngIndex As Long, lngFileNumA As Long, lngFileNumB As Long
- strFilePath = App.Path & "\test.adv"
- lngFileNumA = FreeFile
- tmpStep = &HC + 1
- Dim lngIndexB As Long
- Open strFilePath For Binary As #lngFileNumA
-
- For lngIndexB = 0 To 1064
- Get #lngFileNumA, tmpStep, strPathLen
- ReDim strPathChar(1 To strPathLen)
- tmpStep = tmpStep + 4
- Get #lngFileNumA, tmpStep, strPathChar()
- strResPath = ""
- For lngIndex = 1 To strPathLen
- strResPath = strResPath & strPathChar(lngIndex)
- Next
-
- tmpStep = tmpStep + Len(strResPath) + 2
- Get #lngFileNumA, tmpStep, intSize
-
- If intSize = 0 Then
- tmpStep = tmpStep - 2
- Get #lngFileNumA, tmpStep, intSize
-
- If intSize < 0 Then
- lngSize = 65536 + intSize
- ReDim bData(1 To lngSize)
- tmpStep = tmpStep + 4
- Get #lngFileNumA, tmpStep, bData()
-
- tmpStep = tmpStep + lngSize
-
- Else
-
- ReDim bData(1 To intSize)
- tmpStep = tmpStep + 4
- Get #lngFileNumA, tmpStep, bData()
-
- tmpStep = tmpStep + intSize
-
- End If
- Else
- tmpStep = tmpStep - 2
- Get #lngFileNumA, tmpStep, lngSize
- ReDim bData(1 To lngSize)
- tmpStep = tmpStep + 4
- Get #lngFileNumA, tmpStep, bData()
- tmpStep = tmpStep + lngSize
- End If
-
- lngFileNumB = FreeFile
- CreateNewDirectory (Mid$(strResPath, 1, InStrRev(strResPath, "\")))
- strFilePath = strResPath
- Open strFilePath For Binary As #lngFileNumB
- Put #lngFileNumB, 1, bData()
- Close #lngFileNumB
- Next lngIndexB
- Close #lngFileNumA
- End Sub
复制代码 [/hide] |