← Back to context

Comment by jamal-kumar

7 hours ago

Yeah I actually help out a friend's family business a lot and we recently had to fix the program for something. It's a foxpro application rewritten in '89 from an original dBase port from earlier in the 80s. I legit had to bust out radare2 and hexdump(analysis)/hex fiend(editing) in order to get the changes done because the original programmer passed away (RIP). Was quite the learning experience but I'm glad that things were simple enough back then to make it something like an easy introduction into the world of reverse engineering for money.

I've seen even older in use. There's an auto parts store in the capital city of Costa Rica which was still running dBase III for its inventory system on a green phosphor screen IBM PC. Not sure if that store is around post-pandemic but it certainly was running around 4 or 5 years ago. Wish I got a video but it's in a particularly sketchy area that I don't really have any reason to return to.

Also, if anyone else ever has to dump an old database to CSV or whatever, I found perl to be the best tool for the job as it handles old encodings just fine. You can go from ancient database to spreadsheet really easy this way. Here's the ticket:

https://www.burtonsys.com/download/dbf2csv.php

> https://www.burtonsys.com/download/dbf2csv.php

Man, this would have came in handy when I was trying to extract data from .dbf files. Ended up writing something in Go while referencing the dBase IV spec. Lots of trial and error as I recall.

  • There's a few tools out there, another one I tried in Common Lisp but it was a horrible pain in the ass to get working. Figured to search for perl scripts because it's pretty much fine with old as hell encodings (latin-1) as it was originally developed contemporary to those, and that came up. There's also this, but it was written for dBase III and idk how well it works with fox pro

    https://linux.die.net/man/1/dbview