分析教程内有QQ邮件 已经过期
6 C6 p3 q. `8 j c# T# V6 D7 ]/ U等FTP好了我再上传- K/ q+ B- E9 s) _4 P. a
7 Y* ~; s* y1 Z* r7 Q/ n7 e- D8 D
2 ^9 @- w) {* }* f5 ] S' K上传完毕
2 ]4 z; z/ X! b, j+ Z" b& jftp好像上传了看不到下载目录..或许我的账号有误吧! e" K- m& y8 k; j; r& [
; @" q4 n, j+ _1 T" D" ]0 b/ U$ T写了那么久,值得鼓励一下吧~回帖吧~5 ]+ b1 W% A8 n1 D' g4 q5 u
/ W3 c% m( m# k& k- n. @& e刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码
1 K" S$ ]! _3 N9 p6 J0 R
Z/ l8 `, {2 L0 s+ ~& f6 H% a* \* Z' M: k8 F3 o$ f5 j* R! w
# T9 u8 ~0 a6 t- v! h+ G( I; j. {4 A' G0 G+ q
7 @* t1 k. O3 a5 g6 ~& X2 `! l1 n# m/ @& l: c
[strike]QQmail上传ing...[/strike]
; n7 v2 p$ z- A; s( G$ Q1 v, }' _, V! M3 ?$ u' Q0 R1 d
教程分上下,A是准备工作和废话+ Z9 w( i& e" i4 ?* i! Z, Q
B是废话+操作
- J( Z5 A" B1 {* O4 n" l; X4 S; s9 Y; e$ Z0 H5 X
水品有限...所以东西自然也有限,高手自觉略过吧.....
& [6 M% ?+ T" g [, S; z# k
! z% C+ |; q* \主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...8 p3 B( J T. g% Z! U
! _" {( w, {' v" O" Y: \! I教程补充:
5 q) F; r4 U, [+ x! p) M# n这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。
9 C+ `0 G# f: u' J本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。
% _ D$ k3 ~- \, v操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php
: m; Z) `4 `* X) z# z* }* W如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的]
/ b' ^. ]9 o8 u- f5 ~例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和
$ Z$ W3 _% j+ H, w2 o$ ^3 ]8 P3 I注销使用了的变量,我放到程序结束的时候了。/ ^- `. {0 e j$ ]9 _, S. f
程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,
$ S/ P& d0 h$ f7 F1 c5 a& y 那个indexB,的范围改成图片的数量就可以了,估计是手误吧... 9 w& I9 s+ r8 j' D4 h* Y M( Y
前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取5 y, Y5 u1 L6 m$ P9 b: Z
看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断
! o* N3 n1 d Y9 i m1 Y我去学习了,所以去踩博客吧~呵呵~+ M+ b/ E& g. G6 ~8 D4 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] |