分析教程内有QQ邮件 已经过期; }! n _0 \7 l6 g6 t4 ?
等FTP好了我再上传
7 R. t" `) n& Y# T
8 ~) W0 V( _& ]9 \
7 O# v0 Q9 ?/ [上传完毕7 i1 a6 z5 n% ~$ F4 ~/ H* m
ftp好像上传了看不到下载目录..或许我的账号有误吧
& `6 w# T% ]3 p1 @* y; C, r0 C, q! {# M h
写了那么久,值得鼓励一下吧~回帖吧~3 S& U9 P7 `& w
. z7 q. V/ |" V" ]2 o+ F刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码
1 t1 [2 S2 \, [8 [) U1 p2 I. J" c' D6 a0 a% T* u* O z) O6 F T b
1 y. ], D& f" J- R6 t
" j$ i8 i! h( _; Y! }" Y) G X; n' s, N: p( ]
. S+ h- ~1 N( a) S! H+ z
: }) K j% b0 v! r: L[strike]QQmail上传ing...[/strike]
, d3 A# y' \/ `7 q5 V, @% m" L) @/ j7 ?( }: @0 N3 n! [; y. c
教程分上下,A是准备工作和废话
% D* S/ i* D, ? B是废话+操作
) E, X/ P' |, l0 V3 I0 e; U6 R$ Q- K8 ?& c; _+ O) [
水品有限...所以东西自然也有限,高手自觉略过吧.....
% Y) B8 J! F* V2 Z# ~3 v3 x* E$ k" l! O
主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...7 {/ Z& D/ @3 ~" Q
, j, ^, Z& Z! C' ^教程补充:
" Q, u7 j' O+ \- W( w* {这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。
6 f! t, I) t- i; f本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。
% L" o( B: j& f! `0 e6 V7 l" d* l+ a. Q操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php
/ l" I. g5 W0 L4 s1 W+ u8 N如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的]
; U! b1 c- F% F( x例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和
. g$ k4 F$ j! _& I: [注销使用了的变量,我放到程序结束的时候了。7 \! v% @3 ?% T
程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,( n$ T/ U# M3 {3 K6 i- o
那个indexB,的范围改成图片的数量就可以了,估计是手误吧...
+ V. H1 r' D8 j( |- \& I 前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取
! m" j& b T, L$ a% V看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断/ n4 G2 U1 }0 [% G w& L k
我去学习了,所以去踩博客吧~呵呵~2 S/ Q2 l7 c% o: V: P, D) m1 q
- 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] |