Скрытие (шифрование) данных программы - VB
Формулировка задачи:
Добрый день. Имеется программа, которая отображает картинки, тексты, воспроизводит музыку (музыку через АPI). Всё это лежит в коренной папке программы. Если скомпилировать exe файл из проекта vb, то все файлы видны пользователям, которые могут редактировать их. Так вот такой вопрос: можно ли их, эти файлы картинок, текста, музыки, как-нибудь зашифровать от редактирования, может в какой-нибудь формат переделать, но что бы exe мог спокойно работать с ними?
Решение задачи: «Скрытие (шифрование) данных программы»
textual
Листинг программы
- Attribute VB_Name = "modSInst"
- Option Explicit
- Global Const r = "/", z = ",", k = "\", NameFilter = "[!0-9!a-z!A-Z!а-я!А-Я!Ё!ё!_]"
- Dim clsSInst As New clsSInst
- Sub CallArg(ByVal ArgLine As String)
- Dim f&, j$(1), Arg(), Result As Variant
- On Error Resume Next
- For f = 1 To Len(ArgLine): If Mid$(ArgLine, f, 1) Like NameFilter Then Exit For
- j(0) = j(0) & Mid$(ArgLine, f, 1)
- Next: j(1) = Trim(Mid$(ArgLine, f))
- If Asc(j(1)) = Asc("=") Then
- Result = CallByName(clsSInst, j(0), VbLet, Trim$(Mid$(j(1), 2)))
- Else
- Arg = TrimArrVar(Split(j(1), z))
- Result = CallByName(clsSInst, j(0), VbMethod, Arg)
- If Err.Number = 450 Then
- Result = CallByName(clsSInst, j(0), VbLet, Arg(0))
- Exit Sub
- End If
- End If
- End Sub
- Sub Main()
- Dim Arg() As Variant, j$(), f&, u&
- Dim Command$ 'Тэстовая часть
- Command$ = "/InitDir=C:\Documents and Settings\All Users\Документы\Моя музыка\Mp3" & _
- "/ZipName=C:\Documents and Settings\User32\Рабочий стол\Новая папка (5)\Новая--папка\Сжатая ZIP-папка.zip" & _
- "/OutDir=C:\Documents and Settings\User32\Рабочий стол\Новая папка (99)" & _
- "/ToZip " & _
- "2 Eivissa - Uh La La La (DJ Nejtrino & DJ Baur Summer Ready Mix).mp3," & _
- "Настройки [2г].zip," & _
- "Новая папка\2014-06-08_065236.jpg," & _
- "03 - Мировые инструментальные хиты (audiopoisk.com).mp3"
- '
- '----------------------------------
- On Error Resume Next: DeleteSetting App.Path
- On Error GoTo 0
- j = TrimArrStr(Split(Command$, r))
- For f = 0 To UBound(j): If Len(j(f)) Then CallArg j(f)
- Next
- End Sub
- Function TrimArrVar(Arr) As Variant()
- 'Удаляет передние и задние пробелы в массиве
- '
- Dim f&: ReDim v(UBound(Arr)): For f = 0 To UBound(Arr): v(f) = Trim(Arr(f)): Next: TrimArrVar = v
- TrimArrVar = v
- End Function
- Function TrimArrStr(Arr) As String()
- 'Удаляет передние и задние пробелы в списке
- '
- Dim f&, j$(): j = Arr: For f = 0 To UBound(Arr): j(f) = Trim(Arr(f)): Next: TrimArrStr = j
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д