Log in

View Full Version : SafeKey's *.FST data files format


forestkon
April 13th, 2006, 09:33
Hi,
from Crackz very important site about dongles read:
"*.FST files are 138 bytes in length and have the following format :
{
dw seed1
dw seed2
dw modAd ; module address of supported Hardlock
db 128 dup(0) ; Hardlock memory (if applicable)
dd seed3 ; e.g. seed3 = 12EFh represented as 01 02 0E 0F
}"

Sample .fst file has in HEX format:
00000000h: 7B 0A AC 6A 1B 2B 00 00 05 BC 08 01 07 D1 53 70 ;
00000010h: 72 69 6E 74 20 50 43 53 00 00 00 00 00 00 00 00 ;
00000020h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000030h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;
00000060h: 00 00 00 00 00 00 00 08 07 DA FF FF C3 C4 00 00 ;
00000070h: 00 00 00 00 00 00 C0 C0 C0 00 C0 C0 C0 C0 C0 C0 ;
00000080h: C0 C0 C0 00 00 00 00 0F 07 0A ;

In this case seed1=7B0A seed2=AC6A MODAD=1B2B and seed3=000F070A ?
or all are wrong?

LLXX
April 13th, 2006, 15:41
Read the words the other way around...
7b 0a = 0a7b
ac 6a = 6aac
1b 2b = 2b1b
00 0f 07 0a = 0a070f00

It's the Intel byte ordering. Makes sense if you think about it a little, since the lower-order bytes are at the lower address. It's just that our numeration system based on right-to-left Arabic uses numbers that are really the "wrong" way around compared to left-to-right English.

laola
April 13th, 2006, 16:39
Uhm, the description in the initial post says seed3 consists of four hex digits stored in the lower nibbles of four bytes. So seed3 would be A7F0...


And no, I said nibbles, not nipples

JMI
April 13th, 2006, 16:43
You need to do a little reading on encoding in "Big-endian vs. Little-edian" and know what your program is using.

Big-endian encoding: most significant byte is accessed first

Little-endian encoding: least significant byte is accessed first

0079 007A D800 DC00 big edian
7900 7A00 00D8 00DC little edian

Intel processors (those used in PC's) (and as LLXX said) use "Little Endian" byte order.

Give this a read:

http://www.cs.umass.edu/~verts/cs32/endian.html

Regards,

forestkon
April 13th, 2006, 20:00
Thanks for explanation.

CrackZ
April 13th, 2006, 23:42
forestkon,

I have solved the seeds for the dump you sent to my e-mail.

Regards

CrackZ.

forestkon
April 14th, 2006, 00:52
CrackZ , Hi,
I appreciate this.
Drop me e-mail for for more information, or as you want.
Regards, Forestkon.