分析教程内有QQ邮件 已经过期
9 x5 P/ j- x$ Y. N, i2 x1 {$ u$ u+ v等FTP好了我再上传- F* B' B" R; z0 |% {* q2 }
2 Y0 R# h7 b9 L" h9 J4 v
b" Q$ g0 j0 n8 X; r
上传完毕
3 F% o. L0 F, r% P$ X. rftp好像上传了看不到下载目录..或许我的账号有误吧
3 E o9 v0 E1 T" \" B2 J; _- t% V) i9 l/ I P
写了那么久,值得鼓励一下吧~回帖吧~
* U- N* B+ T( ~: Y: `( J0 l5 w2 X5 S5 Q2 v I- H0 t$ N
刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码
2 M1 z! o: U4 R3 `3 ?! K2 y& K1 @- s$ @" P8 C: d/ U
) A. {4 f$ d8 U, B! o
' J3 Q. l( K9 O# c/ X! t1 M: b# D8 v& Z
; [, a7 p% [1 h' B
% ^/ z1 F+ f$ z# @[strike]QQmail上传ing...[/strike]
+ s- o3 g, Z. @; _1 @& L% F: f4 `/ |
教程分上下,A是准备工作和废话/ M/ t" Z8 v( Q, {5 G
B是废话+操作* ?% [* A0 L1 P
- j; A4 z, h; L) A# _% I3 z, Q8 Z水品有限...所以东西自然也有限,高手自觉略过吧.....
" `6 L7 x. C5 ~, \1 f1 J% {+ {* e2 u8 V. f- e3 H B' Z
主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...2 j3 x/ R ` |' J$ j/ ~2 V, {
8 q4 k' H* C2 j+ ~( k
教程补充: 0 M8 H* K) R$ i: n3 y
这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。 9 v% N* _$ y, m4 T* \# B1 p
本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。
1 P' j& d" b/ ?8 j( W+ ?! ~操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php; ~9 }* j$ X# P+ b
如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的]. f) ]! T% j3 E
例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和8 g3 s0 | {) C h
注销使用了的变量,我放到程序结束的时候了。: a% H! s6 _: O+ Q8 L9 ~- `! ?
程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,
* m4 L, ]& j# V6 p! r- L F* y 那个indexB,的范围改成图片的数量就可以了,估计是手误吧... & n2 t0 h2 ]- D0 W* Q" s
前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取$ {' Y! a1 E! [! I! \" p
看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断3 H/ b: |3 s7 W+ O# R( B
我去学习了,所以去踩博客吧~呵呵~8 B( r3 h8 A7 _! X, _6 f' x
- 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] |