分析教程内有QQ邮件 已经过期
6 D" M [- S1 G0 {& Y等FTP好了我再上传
9 n* D6 v+ L& Z {% ?
" H4 _+ ?8 `' h0 u7 d& {
6 d" f( B1 { e3 J. d+ ?. \ M上传完毕- ?( @# \& M8 A+ {6 x' y& _
ftp好像上传了看不到下载目录..或许我的账号有误吧/ \1 l; X" o( G4 I8 a5 l
" }0 D2 u4 {" z$ E* ~写了那么久,值得鼓励一下吧~回帖吧~
, ]# y3 ^8 g) n6 o* E. w: p4 f+ _' Z2 u. T
刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码
3 H/ x# a& v% U5 R+ Y1 R. x: N! b$ |) n0 h2 @
. F) Y/ j9 s( x( a' _6 p+ J# P$ t: Y3 z% Q$ o5 L: P1 H6 y5 J; {# I
5 i4 R2 P. n& `" H P
: ?) E: ?" A- B7 V8 ^/ z
; M7 Y: J* |+ e: y: v[strike]QQmail上传ing...[/strike]
, g/ M0 E$ [% O `6 {* J" q& R5 b. K$ M$ i& f, Q
教程分上下,A是准备工作和废话# U1 A, r5 }, I
B是废话+操作( x) K# b! A6 W
0 N4 \: i' ~: m* J+ f; X水品有限...所以东西自然也有限,高手自觉略过吧.....' h5 [" m# X% j( R/ n
5 |: p/ N; T7 R6 d) a1 ~主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...- w( g: f8 r% V$ E
& s3 d5 {/ J0 A9 ^教程补充:
8 R( A$ p- {* K& q: \/ b% ?2 Z这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。
5 a9 Y. N' L. _. \( p- S3 i. z9 u本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。
) V) y% a5 w' `2 I4 z% y操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php2 B( Z, \, k4 L& c
如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的] ^- Y1 T5 H* J8 v/ N
例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和4 p' Q/ |# z) D! W( @
注销使用了的变量,我放到程序结束的时候了。
6 i5 b& m( ]& k1 B0 n2 G% {程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,4 C+ A/ R" u) d0 U- g/ ]8 ^! ~- ]
那个indexB,的范围改成图片的数量就可以了,估计是手误吧... 2 \) L9 S/ z" ^+ H' `) `# u8 e: U1 _
前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取
2 A* ^& t$ @) O1 D$ b2 c8 h8 N看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断2 r+ y4 ~7 X; X' I6 V, p5 m
我去学习了,所以去踩博客吧~呵呵~0 S3 E$ {. |$ r! U4 r( l( _
- 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] |