Holy Windows reverse-engineering crap, Batman!

So, been helping some friends out after their lead (translation, only) developer had to leave the country and took all source code for their key application. Now, there was certainly nothing malicious going on. Life happened and the guy had to leave. No one’s faulting him for that. They came to me to help bail them out on extending their application’s capabilities.

I like to think I’m a nice guy, sometimes to a fault. So I agreed to help them out, basically assuming it was all done in Visual C++ and that I would get a folder with the source and with the project file. Nope. I was taught a while ago about making such assumptions. The best was when I thought I could be done with the work in just 2 months of part time work.

Well, it took 3 weeks just to get the source code for the app(s). Yep. Turns out there were three applications, not just one. And while one of them was in fact written in Visual C++, the other two were written in Visual Basic, but not just VB. Oh no! We had to have VB6 with 3rd party Active X controls.

Discouraging? Not at all for a Ninja Linux developer. (I’m laughing inside, btw.) For those who aren’t aware, this stuff won’t work on Windows 7. The whole development platform will only work on 32-bit Windows XP Professional with SP3 installed. Don’t get me started on all the reasons for that.  Of course I got all this stuff figured out and ported to latest .NET standards. You should know that goes without saying when we’re talking about me.

The part that really, really caught me off guard is that the compiled apps were part of a more complex installer that I didn’t have any sources for. So, considering VB6 timeframes, I assume this was all done with InstallShield 6. Nope. Version 8? Nope. Could it be a renamed MSI file? It could have been, but it wasn’t.

Of all the things, these packages, and we’re talking like a half dozen variations, were all created with Inno Setup.

Anyway, finally managed to get that all worked out. And the magic tool of the day happens to be Universal Extractor. I tried unpacking with RAR, 7Zip, and everything else I could think of. But I finally found this buried little text on this app. We’re talking an obscure mention. Apparently, the rest of the modern world different tools than Inno Setup.

Now that this is all worked out, I can actually do a maintenance release for them to fix some database installer related problems associated with their currently shipping SW. So… Booyah!!!

I’m a happy camper now.

Leave a Reply

Your email address will not be published. Required fields are marked *