分析教程内有QQ邮件 已经过期' I, ?3 I% l% O1 ?( j
等FTP好了我再上传
# R' Y6 J0 p w* J- w2 V. h; r, P3 P/ }+ ?! k7 I) J# J7 ]& G6 r
4 j; o6 v F6 h0 Y
上传完毕 G. Z7 n5 ~8 |! e
ftp好像上传了看不到下载目录..或许我的账号有误吧
( ]% W( V+ U4 s
& l& X4 u- q' A写了那么久,值得鼓励一下吧~回帖吧~
! k5 ]# O" z3 M6 T) |1 c" b3 P0 V- R1 p: @0 R' N
刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码! D9 J4 ~/ r% F" u( P
- D1 C3 W' x0 [
$ y! b$ V. X3 Q% F1 N* X$ Y. g# C6 ~5 s' l+ F6 q* [: g
1 ^3 g0 M2 i) ?& E
3 L" P5 ?7 a; a1 P" q! Y) ?
$ Z% N0 ?$ e. S/ d% G[strike]QQmail上传ing...[/strike]
$ A2 ^# Z# z; p0 W5 ^; {
2 \* k/ B/ I0 U& y7 a; [教程分上下,A是准备工作和废话
6 h% A! P+ b% [; r; | B是废话+操作
, r3 |8 b& v7 M( @/ k5 C2 G, e9 T* ~+ z
水品有限...所以东西自然也有限,高手自觉略过吧.....3 H" o5 H. d, x3 x9 M
8 v+ z/ E5 B& ~/ y0 h
主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...
# _/ [* A8 {% q3 c+ E2 o$ R, B
. Q, a0 c; |7 n9 r教程补充: ) k+ e" n+ e# c" ^! _ r2 ^5 [! F
这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。 ( t$ ?. b* _: h- a( K
本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。
8 P2 @ p# ]' z6 Y5 k操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php9 K9 i8 u" ]7 o5 J$ a, u+ \+ S
如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的]
# u8 E9 n7 P2 y: x2 D/ [+ K例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和
0 _, t, _3 R6 }4 L( V* ~$ R/ ^9 H6 }注销使用了的变量,我放到程序结束的时候了。
/ K+ B2 x1 Y7 F( y! z7 M' @程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,* E' T" C3 E' o8 `5 b$ R i" p
那个indexB,的范围改成图片的数量就可以了,估计是手误吧... " g) Z) Q% \4 Y
前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取
/ `( R- V1 F; `$ \4 _8 C* h1 {看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断
* L w1 Q& _( U! T0 G我去学习了,所以去踩博客吧~呵呵~
! v* ]& b5 U7 v0 _4 E- 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] |