Как расшифровать строку, зашифрованную V FoxPro

У меня есть программа, встроенная в Visual Fox Pro, которая читает и записывает информацию в базу данных, но информация зашифрована.

У меня есть исходный код, поэтому у меня есть ключ (тот же ключ для шифрования и дешифрования), который я использую для шифрования / дешифрования. Но я не могу найти алгоритм, используемый для шифрования / дешифрования.

Мне это нужно, чтобы создать новую программу на C #, которая может читать информацию и сохранять ее в другой БД.

Ниже приведены несколько примеров зашифрованной информации:

ùœ¢Qa³•ù¼?-
pJ´’ˆò»Æ8-skYIÞµ§¬†Œ‚„Šç

럭IpAÔúùÈP@kJ´’ˆò»Æ8-skYIÞµ§¬†Œ‚„Šç

Я читал, что у VFP нет собственного алгоритма для шифрования, поэтому разработчик должен использовать внешнюю библиотеку. В исходном коде я ничего не могу найти, он просто использовал функцию encrypt, отправив текст для шифрования и ключ.

В корневой папке находится следующая DLL (возможно, в одной из них есть код для шифрования) Я впервые вижу что-то в VFP msvcr70.dll vfp7r.dll vfp7renu.dll vfp7resn.dll


person Fabian Angeloni    schedule 03.03.2015    source источник
comment
Либо функция шифрования является внешним вызовом, либо содержит внешние вызовы. Если у вас есть источник, вы сможете увидеть, где и как выполняется шифрование / дешифрование.   -  person Simon MᶜKenzie    schedule 03.03.2015
comment
У меня есть ... Но функция просто wreturn = encrypt (plaintext, wpassw), а функция encrypt нигде не определена. Может, в этих DLL есть ... не знаю   -  person Fabian Angeloni    schedule 03.03.2015
comment
Вы упомянули, что у вас есть ключи шифрования - как они передаются в код шифрования?   -  person Simon MᶜKenzie    schedule 03.03.2015
comment
Как сказал Саймон. FWIW, библиотека VFPEncryption Крейга Бойда, пожалуй, самая популярная в сообществе VFP за последнее десятилетие и имеет функцию Encrypt (). Однако это FLL, а не DLL, см. Также sweetpotatosoftware.com/SPSBlog / 2009/08/09 /   -  person Stefan Wuebbe    schedule 03.03.2015


Ответы (2)


VFP не имеет встроенных функций шифрования. Эти библиотеки DLL, которые вы перечисляете, - это просто среды выполнения VFP 7 и среда выполнения Visual C ++, от которой зависят среды выполнения VFP 7.

Что бы я сделал:

  1. Загрузите Process Explorer с sysinternals.com.
  2. Запустите его, затем запустите исполняемый файл программы VFP.
  3. Найдите свою программу EXE в столбце процессов Process Monitor и щелкните по ней один раз.
  4. На панели инструментов вверху используйте кнопку для переключения между просмотром маркеров и просмотром библиотек DLL. Это перечислит каждый из них, открытый EXE.

Я подозреваю, что это библиотека Крейга Бойда.

person Alan B    schedule 03.03.2015

Если ваше приложение VFP было построено на Visual MaxFrame, то оно содержит собственные функции шифрования / дешифрования в качестве программы, которая является частью фреймворка (x3ed.prg).

По сути, это шифр с некоторой модульной логикой для переворота пары битов, но есть 2 варианта.

Если у вас есть специальный ключ, то это скорее всего не он, а на всякий случай. :)

person nqramjets    schedule 17.04.2015