分析教程内有QQ邮件 已经过期
3 B" v, |! M6 v2 S等FTP好了我再上传
& w7 G- w* q" j$ J' q7 j H
; H# x3 P0 N3 h
( f' u) r$ A- ~4 q4 ]上传完毕1 D+ X# G( c$ D4 C w8 S8 T A) X
ftp好像上传了看不到下载目录..或许我的账号有误吧
% F) N8 m; m( a7 @7 M, k( }/ l
5 S% t+ k/ E' T. F0 Y写了那么久,值得鼓励一下吧~回帖吧~
! x$ j4 s9 o7 I/ b/ D
( ~6 v3 ]3 p; l. o刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码# }* c& j6 s/ D, W
7 D8 v6 X) e- p; a; y- W
2 f) W4 x1 C' S- U7 ^% S. F
9 ~9 J2 A1 z m7 R$ }) t8 R9 U
" x! I) c& }$ X$ o0 V0 G2 t" ^1 x( @( W, I% v
6 F% q V4 ?" a
[strike]QQmail上传ing...[/strike]% o( {& [) V' N m t7 |) J
4 t+ m }3 N: U2 K教程分上下,A是准备工作和废话' ^5 C+ G! H9 X8 I3 ?! p0 r) U' x
B是废话+操作9 m# t% T- I4 ~2 ^7 |
2 k" c: b) n8 t+ }. d' e* s
水品有限...所以东西自然也有限,高手自觉略过吧.....$ y' h6 a+ E% B) l# ?* }
& t# m. n7 F/ i4 b& _% Y主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...: b0 _5 ? z# u. K |% V. N
6 u8 B# Q4 c _& N& e, I( J0 h/ v教程补充: : `# F. A' n2 ^
这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。 * H7 C* J2 O; j3 d
本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。
& ]: k8 u! `+ I% @! ^+ K操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php
' f+ X3 V2 m- I: j' f s如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的]
4 y. P S2 C! f# p! I. l例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和
$ T) [+ v6 v0 L, `8 k7 d" u. S注销使用了的变量,我放到程序结束的时候了。) e+ i! ?5 V. C" T' a2 H9 k
程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,
3 O0 X7 z: y# X/ C7 M 那个indexB,的范围改成图片的数量就可以了,估计是手误吧...
9 B7 r- E/ d3 e8 N 前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取8 x5 d8 {5 q' E0 H+ P4 L
看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断# L- q; x: }% I2 |$ v/ N9 ?3 s
我去学习了,所以去踩博客吧~呵呵~5 u0 u' j' N4 z9 ]8 j
- 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] |