powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / [vb6.0 ]отрезаем фрагмент файла
23 сообщений из 73, страница 3 из 3
[vb6.0 ]отрезаем фрагмент файла
    #37183256
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DMK67Попробовал испортить файл GIF. Портится как положено... но не восстанавливается...."Имя, сестра, имя! (с)"

То есть давайте полный пример вашего кода, которым "портили"...
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37184449
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DMK67Попробовал испортить файл GIF. Портится как положено... но не восстанавливается....

Всё прекрасно работает. проверил. И на gif'ах тоже.
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37184460
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfur, господин DMK67
масла в огонь подлил и сдюзнул
Та не знаете как по уже имеющемуся коду запаролить а не наоборот??
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37184577
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович ЭндрюТа не знаете как по уже имеющемуся коду запаролить а не наоборот??например так
код на работоспособность не проверялся
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
' **********************************************************
' File encoding/decoding using XOR function
' arguments:
'   sFileFullName, String, requared: full file name
'   sKey, String, requared:          key for edcoding/decoding
' returning values:
'   0: no errors; not 0: some error occured
Function ForCESpecialBreakRepear%(sFileFullName$, sKey$)
Dim n&, f%, b0 As Byte, b As Byte
Dim lFileLen&, lKeyLen&, lUBound&

On Error GoTo Fail

' ограничение допустимых символов "ключа"
'If sKey Like "*[!@$_0-9a-zA-Zа-яА-Я]*" Then
'    MsgBox "Недопустимый символ в ключе", vbExclamation + vbOKOnly, "Кина не будет"
'    ForCESpecialBreakRepear = &H100
'    Exit Function
'End If


f = FreeFile

' открыть файл для прямого доступа
Open sFileFullName For Binary As #f


' определить верхнюю границу цикла (на тот случай если ключ окажется длиннее файла)
lFileLen = LOF(f): lKeyLen = Len(sKey)
If lKeyLen < lFileLen Then lUBound = lKeyLen Else lUBound = lFileLen


' "испортить"/восстановить файл
For n =  1 & To lUBound
    b = CByte(Asc(Mid(sKey, n)))
    Get #f, n, b0: b = b Xor b0: Put #f, n, b
Next n

' закрыть файл
Close #f

NormExit:
    Exit Function

Fail:
    ' обработчик ошибок написать самостоятельно
    ForCESpecialBreakRepear = &H112
    Resume NormExit
End Function
ЗЫ: используется то свойcтво операции XOR, что
Код: plaintext
a XOR b XOR b == a
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37184596
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища, СПАСИБО
Закину, испорченный файл в топик, интересно прочитают
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188063
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если отщипывать первые 5 байт от файла GIF, то действительно все работает.
Но код у любого файла получается одинаковый. 10 цифр.
4749463839
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub Испортить_файл()
Dim sFN$
sFN$ = "C:\1.gif"

Dim f%
Dim i%
Dim skey$
Dim b As Byte
Dim b0 As Byte

f = FreeFile
Open sFN For Binary As #f
For i =  1  To  5     
Get f, i, b
skey = skey & Hex(b)
Put f, i, b0
Next i
Close #f
Debug.Print skey

End Sub
Пытаюсь отщипнуть 10 байт.
Меняю в коде:
Код: plaintext
1.
For i =  1  To  10  

Код получается 18 знаков:
4749463839617797ED

Начинаю восстанавливать файл:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub Исправить_испорченный_файл()

Dim f%
Dim i%
Dim b As Byte

Dim sFN$
'место расположения и имя требуемого исправить ранее испорченого файла
sFN$ = "C:\Program Files\001_DKE\1003D\FGH\1\2.gif"
'ключ, который был получен, перед тем как испортить файл
Dim skey$
skey$ = "4749463839617797ED"
f = FreeFile
Open sFN For Binary As #f

[color=red]'меняю 5 на 10[/color]
For i =  1  To  10 
   [color=red] b = CByte("&H" & Mid(skey,  2  * i -  1 ,  2 ))[/color]   [color=green]'вылезает 13 ошибка[/color]
    Put f, i, b
Next i
Close f

End Sub

В чем причина?
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188075
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DMK67, а что такое несоответствие
sFN$ = "C:\1.gif"

и

sFN$ = "C:\Program Files\001_DKE\1003D\FGH\1\2.gif"
ну ладно путь, а имя файла
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188085
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного неакуратно загрузил... вот макрос не воспринимающий код 4749463839617797ED

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub Исправить_испорченный_файл()
Dim f%
Dim i%
Dim b As Byte
Dim sFN$
sFN$ = "C:\2.gif"
Dim skey$
skey$ = "4749463839617797ED"
f = FreeFile
Open sFN For Binary As #f

'меняю 5 на 10
For i =  1  To  10 
b = CByte("&H" & Mid(skey,  2  * i -  1 ,  2  'вылезает 13 ошибка
Put f, i, b
Next i
Close f
End Sub
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188097
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил Ваше замечание: все равно не работает... А вот пару знаков добавляю и все срабатывает...но файл как был поврежденный так им и остается
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188176
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из файла doc извлекся следующий код D0CF11E0A1B11AE100
и тоже интерпритатор его на дух не воспринимает... та же 13 ошибка... т.е. явно проблнма в коде для извлечения данных
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188183
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DMK67,

ну если всё так:
b = CByte("&H" & Mid(skey, 2 * i - 1, 2 'вылезает 13 ошибка
То как минимум вопрос, где 2 скобки закрывающие
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188338
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эндрю, не докапывайтесь до ошибок при загрузке на форум... НУ нету здесь возможности редактировать топики.
естественно у меня в файле все нормально... Проблема то в коде извлечения... почему 10 байт извлекаются некорректно?
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188404
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: DMK67
> Эндрю, не докапывайтесь до ошибок при загрузке на форум...

+1
Потерял где актуальный код.

> Автор: DMK67

А почему при восстановлении ничего не читается из файла, а только пишется? Или не корректный код выложен?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188824
DMK67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас файл-пример состряпаю в Excel
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188864
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DMK67... Проблема то в коде извлечения... почему 10 байт извлекаются некорректно?код, который Вы бездумно пытаетесь юзаеть писался исключительно для задачи ТС .
Хотите "отщипывать" другое кол-во байт, из файлов другогих типов - включайте мозг. найдите в себе моральные силы разобраться в дюжине строчек кода.

ЗЫ: типа "доброго совета":
обратите внимание на строки
Код: plaintext
skey = skey & Hex(b)
в Испортить_файл
и
Код: plaintext
b = CByte("&H" & Mid(skey,  2  * i -  1 ,  2 ))
в Исправить_испорченный_файл
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188870
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища, закинул я испорченный файл в топик, было интересно прочитают ли. Начали говорить, что некогда, сериал смотреть охота, сериал любимый, сериал бразильский
Не проверял, а что правда, что код у любого файла один и тот же? дума врут, особенно где я сам назначаю
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188883
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович ЭндрюНе проверял, а что правда, что код у любого файла один и тот же? дума врут, особенно где я сам назначаю-Папенька, скока раз павтарять, - ихняя прафесия паликмахер.(с)
Если Вы об этом , то там НЕ КОД, а первые пять байт файла... Файлы одинакового типа == одинаковые заголовки == (если заголовки длиной более 4-х байт) "код" (прости, Господи) одинаковый...
Если особенно где я сам назначаю , то врут. Однозначно.
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37188898
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища, приятно поговорить с человеком, который не смотрит бразильские сериалы, спасибо
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37189148
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эндрю, я вот тоже сериалы не смотрю. И мы ведь не поленились отвлечься на вас ещё неделю назад. И советы были те же самые, что и сейчас повторяются - разберитесь в коде. Я вот смотрел-смотрел на ваши сообщения - так и не понял, в чём была у вас проблема с "порчей/восстановлением" файла. Ну, за исключением проблемы "усё таки прочитал с пятого раза..."
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37189344
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMЭндрю
1 мы ведь не поленились отвлечься на вас ещё неделю назад
2 проблема с "порчей/восстановлением" файла
3 за исключением проблемы "усё таки прочитал с пятого раза..."

1. спасибо
2. сейчас её нет
3. иногда бывает
ЗЫ сейчас интерисует одно - есть код где я, ЦЭ сам назначаю, пароль от 27 мар 11, 15:42
Ваше мнение, откроют ли файл испорченный мною юзеры? профи?
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37189408
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Ципихович Эндрю]AndreTMоткроют ли файл испорченный мною юзеры? профи?

Первое, что приходит на ум - а кому он нужен?
но если он всё же, кому-то понадобится, значит вполне возможно, что человек бывает на этом форуме, и видит тему, которую вы уже две недели держите на плаву. Может ему и не лень будет пабайтно перебрать файл. и тогда да, файл вполне можно восстановить.
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37189460
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalamfur1
тему, которую вы уже две недели держите на плаву
2
Может ему и не лень будет пабайтно перебрать файл. и тогда да, файл вполне можно восстановить.

1.Я не держу её на плаву, давным давно сказал спасибо пятым шрифтом, это вопросы к DMK67
2.Я Вас за язык не тянул Подскажите, пожалуйста скрипт восстановления, если не знаешь код, спасибо
...
Рейтинг: 0 / 0
[vb6.0 ]отрезаем фрагмент файла
    #37189701
kalamfur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
никаких скриптов нет. просто если не один вы такой одаренный, то кто-то еще может догадаться до этого метода, и прочесть побайтно. и тут всё зависит от того, как сильно вы убивали файл.
...
Рейтинг: 0 / 0
23 сообщений из 73, страница 3 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / [vb6.0 ]отрезаем фрагмент файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]