Reverse-engineering data files

Reverse-engineering data files

Post by Stephen A. Horvat » Sun, 19 Dec 1999 04:00:00



Hi all,

I'm trying to figure out how to read and parse through a Quicken data
file (.qdf file).  Basically, I need to write a program that can take
these .qdf files as input, parse through them and extract all the
information in all the fields.  I'm not really sure how to go about this
or where even to begin.

As far as I know, the file is binary.  I thought maybe using a
hex-editor I could figure out how to access info.  But, when I had no
clue what I was looking at when I edited the file.

Could someone help me out, or somehow point me in the right direction?

TIA,
Steve

--

-= aixelsyd =-

 
 
 

Reverse-engineering data files

Post by Erik de Castro Lop » Sun, 19 Dec 1999 04:00:00



> Hi all,

> I'm trying to figure out how to read and parse through a Quicken data
> file (.qdf file).  Basically, I need to write a program that can take
> these .qdf files as input, parse through them and extract all the
> information in all the fields.  I'm not really sure how to go about this
> or where even to begin.

> As far as I know, the file is binary.  I thought maybe using a
> hex-editor I could figure out how to access info.  But, when I had no
> clue what I was looking at when I edited the file.

> Could someone help me out, or somehow point me in the right direction?

When hacking binary data files, its usually best to start with the
simplest file you can generate. You then start making small changes
to the file file and look at the differences between the original
and the new file.

I hope that was at least a little helpful.

Erik
--
+-------------------------------------------------+

+-------------------------------------------------+
"In my opinion, shareware tends to combine the worst of
commercial software (no sources) with the worst of free
software (no finishing touches). I simply do not believe
in the shareware market at all."  -- Linus Torvalds

 
 
 

Reverse-engineering data files

Post by Andreas Rottman » Mon, 20 Dec 1999 04:00:00



Quote:> Hi all,

> I'm trying to figure out how to read and parse through a Quicken data
> file (.qdf file).  Basically, I need to write a program that can take
> these .qdf files as input, parse through them and extract all the
> information in all the fields.  I'm not really sure how to go about this
> or where even to begin.

> As far as I know, the file is binary.  I thought maybe using a
> hex-editor I could figure out how to access info.  But, when I had no
> clue what I was looking at when I edited the file.

> Could someone help me out, or somehow point me in the right direction?

There is a Gnome project called GnuCash wich is able to import Quicken
files - maybe you should take a look at the source. You'll find it
somewhere below www.gnome.org.

Hope being helpful.

Andy
---------------------------------------------------

Pfeilgasse 4-6/725, A-1080 Wien, Austria, Europe
http://www.altern.org/arot/

---------------------------------------------------

 
 
 

Reverse-engineering data files

Post by Andy K » Mon, 20 Dec 1999 04:00:00


My Binary Editor tool can be used to help reverse engineer data file formats.
Available from my home page. Linux version included.

{{{ Andy Key

http://www.interalpha.net/customer/nyangau/

 
 
 

Reverse-engineering data files

Post by Victor Wagn » Mon, 20 Dec 1999 04:00:00



: Hi all,

: I'm trying to figure out how to read and parse through a Quicken data
: file (.qdf file).  Basically, I need to write a program that can take
: these .qdf files as input, parse through them and extract all the
: information in all the fields.  I'm not really sure how to go about this
: or where even to begin.

In your place I would start with searching Internet for format
description. Excellent starting point is www.wotsit.org. It has
description of lot of data formats.

Then I'll visit sites of the OpenSource software which does simular
things like GNUcash or Xaccountant and see if they have some import code
available.

If no description or code is available, first thing I would do is to check
whether it is OLE file using cole library and, if so split it into
separate OLE streams.

: As far as I know, the file is binary.  I thought maybe using a
: hex-editor I could figure out how to access info.  But, when I had no
: clue what I was looking at when I edited the file.

Probably it contains a lot of floating-point data. So you'll have to
make yourself some tool to represent arbitrary 8byte chunk of binary
file as floating point value. Preferrable interactive. Or way backward -
open your file in Quicken, write down all floating point values from it,
make a simple tcl or perl script which converts it in internal
representation and dumps in hex form and search file for these hex
strings.

: Could someone help me out, or somehow point me in the right direction?

: TIA,
: Steve

: --

: -= aixelsyd =-

--
Absolutely nothing should be concluded from these figures except that
no conclusion can be drawn from them.
        -- Joseph L. Brothers, Linux/PowerPC Project)

 
 
 

Reverse-engineering data files

Post by Ray Cadmu » Tue, 21 Dec 1999 04:00:00



> I'm trying to figure out how to read and parse through a Quicken data
> file (.qdf file).  Basically, I need to write a program that can take
> these .qdf files as input, parse through them and extract all the
> information in all the fields.  I'm not really sure how to go about this
> or where even to begin.

If you can get a Quicken interchange file the format is here:

http://www.intuit.com/quicken/technical-support/quicken/old-faqs/dosf...

The best place for file formats I've found is:

http://www.wotsit.org/

Good luck,

ray

 
 
 

Reverse-engineering data files

Post by Warren Youn » Tue, 21 Dec 1999 04:00:00




> > I'm trying to figure out how to read and parse through a Quicken data

> When hacking binary data files, its usually best to start with the
> simplest file you can generate. You then start making small changes
> to the file file and look at the differences between the original
> and the new file.

I've also found laser printouts of the hexdumps helpful: the kind with
16 bytes on the left 3/4 of the page, and a narrow column of the
printable representation on the right.  Laser print is nice because you
can then use highlighters to mark similar passages in similar printouts,
for easy reference.  Ink jet prints tend to smear a bit when you do
this.

I've even reverse engineered a few formats where I wasn't able to
generate minor differences.  I didn't even get a copy of the original
data.  They just gave me a file and said, "We want this data in a
different format."  As long as there's some ASCII data in the file, it's
still practical to hack the format.  

The worst I've been faced with took about a day to crack, including
writing the converter.  I didn't rescue 100% of the data, though.  If
you must get it all, it may take you longer.
--
= Warren -- ICBM Address: 36.8274040 N, 108.0204086 W, alt. 1714m