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
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
PHP used to have dBase database support. Also older version of Excel can just open dBase. LibreOffice seems to support it too.
https://help.libreoffice.org/latest/en-US/text/scalc/guide/d...
Hahaha this woulda saved me some time. We considered porting the app to be a web app but after some time it was obvious that wouldn't have been as good
What a lucky friend - you're a superhero.
I just like to hack shit