Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Зашифрованное поле в таблице на фоксе / 10 сообщений из 10, страница 1 из 1
14.01.2005, 22:42
    #32865989
Galogen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Господа, столкнулся с проблемой.
Есть поле (и не одно) которое зашифровал предыдущий кодописатель
вот два примера

Строка в базе
Ј.¬ѓ
Реальное значение
Товар

Строка в базе
».ЈЏ‰•ИВ
Реальное значение
Компьютер

Строка в базе
абАБвгВГ
Реальное значение
‘!-Ќ‘”Ґо

Таблица прилагаеться

Может у вас идеи какие возникнут, а то что что словсем плохо... не знаю я как к такому Г подходить....
...
Рейтинг: 0 / 0
14.01.2005, 23:43
    #32866020
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Похоже простой подстановочный шифр. Данных для анализа маловато. Пока можно говорить о том, что
о - 46
Т - 163
т - 149

Ну и так далее...
...
Рейтинг: 0 / 0
15.01.2005, 00:00
    #32866037
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Возможно усложненый подстановочный - это когда буква заменяется разными в зависимости от позиции в слове... Слишком мало информации

Проще всего - возми ReFox и декомпилируй процедуру шифрования/дешифрования
...
Рейтинг: 0 / 0
15.01.2005, 05:20
    #32866120
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Hi Galogen!

> Может у вас идеи какие возникнут, а то что что словсем плохо... не
> знаю я как к такому Г подходить....

С пывом к тому кто такое написал - IMHO проще и быстрее всего :)
Если невозможно - то в исходниках (REFOX поможет) смотреть как он
шифрует/дешифрует...

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
15.01.2005, 12:20
    #32866240
Galogen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Я смотрел Refoxom.

Есть там такая штука ...

SET PROCEDURE TO InModuls
_SCREEN.CAPTION = 'Движения товара, Рабочая дата: '+DTOC(DATE())
CRYPTIC1 = CREATEOBJECT("Cryptic")
OPEN DATABASE mSklad SHARED
CRYPTIC1.ACCUSER = GETSYSTEMVAR('CurUser')
CSCREEN = GETSYSTEMVAR('cScreen')
IF TYPE('cScreen')='L'
CSCREEN = RGB(255, 255, 255)
ENDIF
CFORM = GETSYSTEMVAR('cForm')
IF TYPE('cForm')='L'
CFORM = RGB(212, 206, 200)
ENDIF
CFONT = GETSYSTEMVAR('cFont')
IF TYPE('cFont')='L'
CFONT = RGB(0, 0, 0)
ENDIF
CFIELD = GETSYSTEMVAR('cField')
IF TYPE('cField')='L'
CFIELD = RGB(255, 255, 255)
ENDIF
_SCREEN.BACKCOLOR = CSCREEN
CURRULE = 0
IF .NOT. GETSYSTEMVAR('Normal_End')
= MESSAGEBOX('Программа была завершена АВАРИЙНО, если будут проблемы обращайтесь!', 0, 'Внимание')
ENDIF
DO FORM AccesForm
= SETSYSTEMVAR('CurUser', CRYPTIC1.ACCUSER)
CURDATA = DATE()
CFIRMA = GETSYSTEMVAR('Firma')
IF .NOT. EMPTY(CRYPTIC1.ACCRULE)

Есть объект CRYPRIC вот с помощью методов этого объекта и делаеться шифрование. А где его исходник я не знаю...
...
Рейтинг: 0 / 0
15.01.2005, 12:23
    #32866242
Galogen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Я вот еще подумал, может это стандартный метод?

CRYPTIC1 = CREATEOBJECT("Cryptic") не кто не пользовал?
...
Рейтинг: 0 / 0
15.01.2005, 12:55
    #32866260
Galogen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Господа... откопал я методы которыми шифруеться... и расшифроуеться
FUNCTION crypt
LPARAMETERS CSTRING, CKEY
IF TYPE('cString')='C'
IF PARAMETERS()=1
CKEY = THIS.ACCSTRING
ENDIF
LOCAL LCENCRYPTEDSTREAM, LCFIELD, LCKEY, NLEN, I
LCENCRYPTEDSTREAM = ""
LCFIELD = ALLTRIM(CSTRING)
NLEN = LEN(CSTRING)-LEN(LCFIELD)
LCKEY = ALLTRIM(CKEY)+'odoLUJSEwdfhsjkdhJHNSdfkjsdHHk'
FOR I = 1 TO LEN(LCFIELD)
LCENCRYPTEDSTREAM = LCENCRYPTEDSTREAM+CHR(BITXOR(ASC(SUBSTR(LCFIELD, I, 1)), ASC(SUBSTR(LCKEY, I, 1))))
ENDFOR
RETURN LCENCRYPTEDSTREAM+SPACE(NLEN)
ELSE
IF PARAMETERS()=1
CKEY = THIS.ACCVALUE
ENDIF
RETURN CSTRING*CKEY
ENDIF
ENDFUNC
FUNCTION decrypt
LPARAMETERS CSTRING, CKEY
IF PARAMETERS()=1
CKEY = THIS.ACCVALUE
ENDIF
RETURN CSTRING/CKEY
ENDFUNC

Что тут твориться подскажите...
...
Рейтинг: 0 / 0
15.01.2005, 18:40
    #32866451
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
>Что тут твориться подскажите...
Ну ты наглец. Кодируется этой строчкой:
CHR(BITXOR(ASC(SUBSTR(LCFIELD, I, 1)), ASC(SUBSTR(LCKEY, I, 1))))

Берется буква поля и буква ключа стоящая на тойже позиции, получают их код функцией ASC(), проводят над ними побитовое исключающее ИЛИ и полученый код конвертируют обратно с символ
...
Рейтинг: 0 / 0
15.01.2005, 23:54
    #32866571
Galogen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Я тоже так сначала подумал.... да не так всё просто...
...
Рейтинг: 0 / 0
16.01.2005, 00:24
    #32866581
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Зашифрованное поле в таблице на фоксе
Ну, интересно, ты выдрал один метод из класса и хочешь, чтобы тебе расписали, как работает этот класс!

То, что делает данный метод тебе расписал Burn . Ну, некоторые тонкости он опустил (ведущие и концевые пробелы, данные длиннее длины ключа, значение ключа по умолчанию), но суть передал верно. Для символьных данных.

Ну, а числовые данные просто умножаются на некоторый коэффициент.

Вобщем, это алгоритм, "заточенный" под конкретную задачу. Для обратной расшифровки тебе надо знать, какой второй параметр передавался в эту функцию (CKEY) и значение этого параметра по умолчанию (THIS.ACCSTRING)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Зашифрованное поле в таблице на фоксе / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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