I want to start off by apologizing because I am not a software engineer so it is quite possible that what I ask cannot be done, I looked up the wrong thing, or I just don't understand what I am talking about.

I work for a school that is running an old program and ID printing machine connected to a WinXP machine. We are wanting to upgrade to another computer we have that is running Win7, but we do not have the CD for the software nor do we have the installation key. The company that the school originally bought the products from no longer has this software and has discontinued the ID printer that we have. Although buying a new printer and software is an option (an expensive option), I would like to help the school save money.

I have looked it up online for a little bit now and saw that there are ways of getting the installation key to a software by creating a keygen, but that is while the software is installed using a free trial so that they could activate it. Could this be done for a program that has already been activated with a License key?

I doubt the school district will want to make any purchases for programs for me to use (again going back to saving money), so I was hoping that someone here could help me figure this out that is free and legal.

What want I want to do is to be able to reverse engineer the software to be an executable so that I can install it onto the computer running Win7 and I would also like to be able to extract the license key that was used to install the program in the first place on the WinXP machine.

I have looked at recovery programs that could recover license keys such as Magical Jelly Bean Recover Keys and a few others, but under the listings for what keys they can retrieve, I could not find the software that we have.

If there is a free and legal way to do this, that would be awesome. But if I personally need to shell out a few bucks to get this to work, I think I will be alright with that.

If I am wrong for posting here, not clear on what I would like to do, or what I want to do cannot be done, please let me know.

Thank you all in advance!

  • The legality of reverse engineering depends on the EULA. You should contact with either the software publisher or the company that the school brought the product from to know that if this can be done. Also what you are asking can be always done, but the cost of Reverse Engineering may exceed the cost of buying a new product depending on the complexities.
    – 0xec
    Jul 8, 2015 at 18:57

2 Answers 2


I'm not going into any legal issues, as these depend a lot on the EULA you have with the vendor, and your jurisdiction as well - in the EU, reverse-engineering the software to make it work on new hardware may be legal, with this law overriding any EULA restrictions. Let's assume, for the moment, that the company you got the software from tells you they're ok with anything. Since they stopped selling the software and the printer model, they probably don't care - but then, they might refuse to be reasonable since they want to sell new systems.

Any serious reverse engineering would have to be done by someone who is highly knowledgable in the field and i doubt this person could be you, since you aren't a software engineer. Hiring someone would, very likely, be more expensive than buying a new system. So unless you have several dozen of these software/hardware combinations used all around your school district, reverse-engineering probably won't help you save cost.

That said, there might be some easy-to-try things that could work, depending on how serious the copy protection is.

  • Some protections, like that of windows itself, use a lot of the internal hardware and serial numbers to detect if they've been moved to something different. If your software is like this, you can more or less forget the whole thing. Yes, people have cracked windows, but selling a few million copies of windows 10 for 5$ each is a larger incentive than yours.

  • The copy protection might be tied to a specific piece of hardware or your installation, like a serial number in your printer, the MAC address of your network adapter, or the raw disk block number where a specific file is stored. You could have a good chance to turn your whole machine into a guest of a virtualizer like VMWare or VirtualBox, with the software unable to detect that; however, this depends a bit on whether or not you can route the printer hardware to the guest - you can if it's an USB connector, you can't if it's centronics. Here is a tutorial how to do this. Note you should get a bit experience with virtualized guests first before trying this on your "only known good" installation.

  • There might be no copy protection at all, just a few files and registry keys that have to be there. There are plenty of older softwares floating around where you had to enter a license key upon installation, which you could re-use on as many machines as you wanted to, the protection being that the vendor knew which license key they gave to whom so they'd be able to trace rogue versions to their origin. In this case, the only thing you have to find out which files and registry keys to copy. Procmon is a great tool for that. You could run it while you start your software, filter on your executable name, use it to find which files (probably all in the same directory) and registry keys it accesses, then copy these files and keys to the new machine. Start the program on the new machine. If it doesn't work, compare the procmon output of the old and new machine to find which mistakes you might have made or which files might be missing.

This more or less exhausts the possibilities that you have without being a software engineer. Everything that goes beyond this requires the ability to understand compiled code, and anyone who can do this well enough can write code as well, which doesn't exactly make them a software engineer, but comes close enough.

Personally, i found virtualizing the best way to get old installations running on new hardware, so i'd try turning the whole XP machine into a VM, and use VirtualBox, which is free, to run it on the Win7 machine. Once you have some experience with virtualizing, this is much less a hassle than trying the copy-files-and-registry-keys stuff. But, as i said, this works only if you have a way to interface the ID printer to the virtual guest.


Firstly, if the company that has created the product has discontinued it and are not willing to provide service for it even when you have a genuine license than i don't think company would have any legal problems if you yourself transfer the app to new machine or take help of any other person to do it.

Second, The Solution of your problem is to first gather all the application files from the old computer with all its dependencies to the new machine, and test if its running properly. if you are lucky enough, and the application security and dependencies (including the .ini files and registry entries) are not too complex, it will be easy to copy the application to the new machine and if you are too lucky, may be the license info will also get transfer and you will not need to reverse the application for registration.On the other hand if the application is complex, you will need a reverse engineer who will find the files and dependencies needed, by analyzing it and also checks how the application store its authentication license file. So its completely possible, keeping in mind that the software will support the windows 7 system or the new system.

Now, if you need to save some money hire a cheap reverser.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.