我正在尝试解码DBF中的一些字符串(由Foxpro应用程序创建),我对FoxPro的编码/加密方法感兴趣。
这是一个示例编码字符串:“òÙÛÚÓ½kê3ù[ƒ〜øžÃ+™Þoa-Kh-Gó¯ý”“|øHñyäEük@‰fç9æ×ϯyi±:”
有人可以告诉我这个字符串的编码方法,或者给我任何关于Foxpro编码方法的建议?
谢谢!
答案 0 :(得分:0)
这取决于FoxPro版本,这里记录了最新的DBF结构(VFP 9): https://msdn.microsoft.com/en-us/library/aa975386%28v=vs.71%29.aspx
答案 1 :(得分:0)
看起来您的文本可能是“_Crypt.vcx”的结果,它将获取给定的字符串,应用任何密码短语并生成输出加密字符串。
VFP有一个类在“FFC”文件夹中可用,其中VFP是默认安装的(通过HOME()路径,例如
C:\PROGRAM FILES (X86)\MICROSOFT VISUAL FOXPRO 9\
这是一组SAMPLE代码,用于连接_Crypt类和示例以加密字符串,然后解密加密的字符串。你的字符串看起来是加密的(显然),但除非你知道更多的加密(例如找到密码/密钥,你可能会有点卡住并进行更多的研究)......
lcCryptLib = HOME() + "FFC\_Crypt.vcx"
IF NOT FILE( lcCryptLib )
MESSAGEBOX( "No crypt class library." )
RETURN
ENDIF
SET CLASSLIB TO ( lcCryptLib ) ADDITIVE
oCrypt = CREATEOBJECT( "_CryptAPI" )
oCrypt.AddProperty( "myPassKey" )
oCrypt.myPassKey = "Hold property to represent some special 'Key/pass phrase' "
*/ Place-holder to get encrypted value
lcEncryptedValue = ""
? oCrypt.EncryptSessionStreamString( "Original String", oCrypt.myPassKey, @lcEncryptedValue )
*/ Show results of encrypted value
? "Encrypted Value: " + lcEncryptedValue
*/ Now, to get the decrypted from the encrypted...
lcDecryptedValue = ""
? oCrypt.DecryptSessionStreamString( lcEncryptedValue, oCrypt.myPassKey, @lcDecryptedValue )
? "Decrypted Value: " + lcDecryptedValue
*/ Now, try with your string to decrypt
lcYourString = [òÙÛÚÓ ½kê3ù[ƒ˜øžÃ+™Þoa-Kh— Gó¯ý""|øHñyäEük@‰fç9æ×ϯyi±:]
lcDecryptedValue = ""
? oCrypt.DecryptSessionStreamString( lcYourString, oCrypt.myPassKey, @lcDecryptedValue )
? "Decrypted Value: " + lcDecryptedValue