我用VB调用一个SWF文件。并且对SWF文件进行加密,让SWF文件单独打开的时候什么都不显示,只有在VB调用里面才能显示。
问:在VB里面怎么把SWF文件内部给打散,而在调用的时候又恢复过来。
------------------------------------------------------------------------------------------SWF文件:是FLASH生成的可执行文件!
问:在VB里面怎么把SWF文件内部给打散,而在调用的时候又恢复过来。
------------------------------------------------------------------------------------------SWF文件:是FLASH生成的可执行文件!
作的简单一点就是直接在文件前面加点东西,比如“123456”之类的。
打开文件前先判断这个文件头是否以“123456”开头的,如果是的话就不用加了(加多了反而麻烦),如果不是就加上去。
要播放文件的时候也是这样,去掉前面的“123456”,生成一个临时的SWF文件,播放这个临时文件,播放完毕就删掉这个文件。
Public Function AddCode(ByVal S As String) As String '加密
On Error GoTo acd
If Len(S) = 0 Then Exit Function
Dim Buff() As Byte
Buff = StrConv(S, vbFromUnicode)
Dim i As Long
Dim j As Byte
Dim k As Byte, m As Byte
Dim mstr As String
mstr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"
Dim outs As String
i = UBound(Buff) + 1
outs = Space(2 * i)
Dim Temps As String
For i = 0 To UBound(Buff)
Randomize Time
j = CByte(5 * (Math.Rnd()) + 0) '
Buff(i) = Buff(i) Xor j
k = Buff(i) Mod Len(mstr)
m = Buff(i) \ Len(mstr)
m = m * 2 ^ 3 + j
Temps = Mid(mstr, k + 1, 1) + Mid(mstr, m + 1, 1)
Mid(outs, 2 * i + 1, 2) = Temps
Next
AddCode = outs
Exit Function
acd:
End Function
Private Sub Command1_Click()
Dim str As String
str = AddCode("FFFFFFFFFFFFFFFFFFFFFFFFFF")
SaveSetting "AAAA", "DD", "FF", str
End Sub