分析教程内有QQ邮件 已经过期
* [2 \6 P4 u; l" Z; ~( U) H等FTP好了我再上传& k8 N! i3 b1 h: H6 J, c+ I
+ e/ S# k& C7 f; |% Y# `1 }- z: |& Z% X7 `
上传完毕
# ~4 o# u S3 r6 x5 V4 u0 [1 u Oftp好像上传了看不到下载目录..或许我的账号有误吧
2 T' |: r4 U# C( B9 }; @0 R
+ ]7 c0 w9 ` N; e$ N- A写了那么久,值得鼓励一下吧~回帖吧~6 W# d% m$ A1 l' @+ [& d
- z6 e+ h1 ]! q$ T刚刚发完就给下载了...不回帖支持~不厚道么~内附解包代码
' R, V; }( o! O/ u U3 U7 A7 y; a2 S) e a$ i! \
) V3 W2 y$ R1 |/ Q: I1 Z' D* `* T
# O' R2 v* w: `- k2 x3 J3 H9 x4 L0 U* P6 U# T) {8 b% n
3 ^$ r/ O: ~3 `$ G* ]6 {. u
7 Q5 \* p8 ?; ]' e \' j1 T[strike]QQmail上传ing...[/strike]
% k6 ?- k3 a, ?! j6 z' U7 X1 G
$ C9 c9 g! ~1 `3 s# @; ^3 S教程分上下,A是准备工作和废话
. B4 _' ]0 k1 h! p2 I& x: | B是废话+操作
1 e* ~% j; B& i2 C2 D% F' l4 W) J( s8 Z2 Q* a% \! z" J" y J' u
水品有限...所以东西自然也有限,高手自觉略过吧.....; h0 z1 _& j+ b! @
9 J3 ?7 J% d) B- ]7 R* c, o" [
主要代码拷贝到这里了,那个俺学习的时候,给我踩踩blog...0 ~) T# M/ t( `& i0 p6 ~
, U r, R; w* d* G: Z4 ^
教程补充: 5 s2 |+ l9 t: U: K$ j. y% {
这个只是一个demo而已..还有太多地方该去改进,这个活交给聪明的你了。 & U8 P3 |3 R6 J2 Z0 o! g
本来还有一个小工具的,可是呢,受限于信用问题,已经投稿便不能发了。。。$ t+ u1 `5 G: Q$ {# J' T
操作文件C是王道,但是使用其他工具也没有问题的,甚至是轻量脚本php( c& M2 j2 G& S1 s- H
如果你也用VB6或者VBNET可以考虑FSO,[其实和GET PUT一样的]5 I5 @* V1 t0 ]* X) h; t
例子中没有告诉大家要注意资源的使用,比如初始化[虽然我有做]和
3 C9 c9 a0 h4 H注销使用了的变量,我放到程序结束的时候了。
3 e! E( `" k; c" t7 h4 k. U- n3 J程序中没有检验传入数据,请注意,那个提取我检验过了,所以就删除掉了,6 ~0 Y' |; D0 m& {
那个indexB,的范围改成图片的数量就可以了,估计是手误吧... * V) X# k4 g+ w! }0 a' Q% b
前面几个字符的处理其实也简单,不停的更换前面的那个头部结构声明,然后读取
" i5 ]3 n1 ~( y& r; H看看能和什么匹配就好,或者你就跟踪程序操作文件吧,在读取文件的API处下断! Z7 I9 L, y" t9 C3 ~" S; j6 E; x
我去学习了,所以去踩博客吧~呵呵~3 x( y& B" X" n o
- 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] |