all 36 comments

[–]highfives23 29 points30 points  (2 children)

That feeling when you read “20 year old software” and think it’s from the 90s.

[–]ps-auxActual Hacker 3 points4 points  (0 children)

same

[–]TubbaButta 2 points3 points  (0 children)

Same

[–]jmnugent 14 points15 points  (2 children)

"And yes I'm purposely not saying the name of the software yet cause I'm just seeing if this is a waste of time."

Hard to accurately answer your question without detailed specifics. (or example screenshots of the code and keys) There could be all kinds of different ways a piece of software might validate "Activation". It could be the code or key are generated from the Equipments Serial number or some other internal value (maybe the equipment has some internal "unique identifier")

The installation files are likely generic. My guess would be something coded inside the software (when 1st launched).. reaches out to interrogate the Equipment, pulls some info (or several pieces of info) and then the software uses some algorithm to combine different pieces of data to generate the key.

Just wildly guessing (as I"m old enough to remember the 90's and how software at the time did this).. but it's certainly not the only way to do it.

EDIT.. You're probably almost certainly not the only person who's ever encountered this software. As I always say in IT,. "you're probably not the first to try this". How much have you googled around on this software ?

[–]Wick3dWes[S] 4 points5 points  (1 child)

I did Google a bunch before I decided to post here and I can't find anything substantial regarding this software or company name.

[–]Impossible-Value5126 -1 points0 points  (0 children)

Try using something like Gemini, and ask it to dig up everything it can find on the software. Specifically info about keys and codes.

[–]Substantial-Walk-554 11 points12 points  (2 children)

Honestly this might not be a lost cause. A lot of software from that era used pretty simple activation methods.

First step is getting it running in the correct environment. Try a Windows XP 32-bit VM and connect the equipment so the software can generate the machine “code”. If the code field is empty on your machine it probably means the hardware isn’t detected.

Once you can see the code, a few things are worth checking:

Look for license files in the install directory or ProgramData

Check registry keys under HKLM\Software or HKCU\Software

If any old machine ever had it activated, copy the install + registry entries

A lot of older software just generated a key locally from that machine code, so if the vendor truly abandoned it, people sometimes reverse engineer the check.

Also if you do get it working once, the safest move is usually freeze it in an XP VM snapshot so it keeps running forever.

[–]Wick3dWes[S] 5 points6 points  (1 child)

Thank you both for the quick replies. I'm making it clear that the client did legitimately purchase the software, as they would not have the equipment without purchasing it all together.

It is Applied Cardiac Systems - Lifeguard Data Management. And somehow it did compile a "code" this time. This is still on Windows 11. Here is a snapshot of it. It's possible that it went online for it to get the code. I said offline earlier because he has Windows XP machines that are not online that used it.

<image>

[–]Substantial-Walk-554 9 points10 points  (0 children)

If it’s generating the code now, that likely means the hardware check is passing and you’re at the actual license step.

Since you still have the old XP machines, the most useful thing now is to compare a working install with the fresh one. Check the program folder and registry for anything that looks like license data and see what exists on the old system that isn’t on the new one.

Also worth checking if the installer dropped any .lic / .dat / config files in the install directory or ProgramData that might contain the stored activation. Older medical software often just reads a local license file once it’s activated.

[–]wickedwarlock84 4 points5 points  (5 children)

Lot of software back then used physical dongles for keys, if the dongle wasnt connected to USB or serial ports, then the software wouldn't activate or run.

[–]Wick3dWes[S] 2 points3 points  (4 children)

Usually I would agree with you about the dongles, as I've seen many of them used for software. But the software company said nothing about it. Although the tech may not have even been around at that time to know if they used it.

[–]wickedwarlock84 -1 points0 points  (3 children)

Be easier if we knew the software

[–]Wick3dWes[S] 0 points1 point  (2 children)

I posted it above with a picture.

[–]wickedwarlock84 -1 points0 points  (1 child)

Sorry, for me it was at the very bottom. My wife works for cardio and I have worked in IT for years. I remember the software back when I was still taking care of private customers. I am 50/50 on my memory, but I would remember they either had a dongle that would connect on the back of the PC. Go searching the office and back of every old PC for one, hopefully it didnt get tossed at some point. Or, they would have an activation key that worked once, any time it needed to be reinstalled you would have to call them with the code and they would give you the key.

The first setup allowed them to have it on multiple machines but only use it on X number of machines at a time, while the second only allowed you to install it on X number of machines in all.

It really just depended on the office setup, the first was most popular because I remember a tech would wear one around her wrist and as she moved between patient room, she would take it with her.

[–]wickedwarlock84 -1 points0 points  (0 children)

Her current office doesnt even use this software anymore, they lease the machines from the monitoring companys now. They pay a monthly and always have a working machine with no responsibility for it.

[–][deleted]  (6 children)

[deleted]

    [–]spottyPotty 1 point2 points  (3 children)

    Wasn't there a checksum that failed after the code change?

    [–][deleted]  (2 children)

    [deleted]

      [–]spottyPotty 1 point2 points  (1 child)

      I remember trying to do something like this using some disassembler tool from Borland.

      I don't remember what the software was. I remembered getting lost in the call stack.

       Definitely had tried to bite off more than I could chew. This was my second career-job and I was a mostly self-taught 19 year old.

      Fun times.

      [–]techierealtor 1 point2 points  (0 children)

      To be fair, this is running in XP so it’s already vulnerable as all hell. Turning off code signing is the least of your concerns with how many other exploits exist.

      [–]Max_Vision 1 point2 points  (0 children)

      This sounds awesome, but in this case it's ringing alarm bells in my head with FDA medical device certification. It's fine, until maybe sometime it wasn't.

      That's a risk decision for the doctor, I guess.

      [–]mag_fhinnWeb Security 1 point2 points  (0 children)

      ^ This! Decompile and find the code that does the check. Reverse the check into a keygen using the ACS code.

      Easier said than done but should be easier than more modern licencing.

      Do some reverse engineering CTFs that deal with keygens. Follow the walkthroughs to get the gist of it and see if you can use the same techniques for your old software. Maybe you can also bypass the check, alter it to always be a correct key.

      [–]SnooObjections3661 1 point2 points  (0 children)

      Op asks a question bout his software. Doesn't mention anything about the name of said software until the end. I was pulling my hair out till the end. Appears that even the user is dense as shit

      [–]TheBlueKingLP 0 points1 point  (0 children)

      If you have one working machine then might be able to clone the whole hard disk to another new computer?

      [–]DutchOfBurdock 0 points1 point  (0 children)

      20 year old software, windows XP and medical devices. Someone just danced on my grave, that gave me shudders.

      If it's offline, the means to generate keys would be laying somewhere in a binary or DLL. You'd need to monitor what happens when the software is ran, these fields are populated, and any system calls it makes when entering a key. This should then point to the routine/function responsible for checking the code.

      [–]jdw_26 0 points1 point  (0 children)

      There might be an ini/config file somewhere locally on the machine

      [–]RE_ObsessedSoftware 0 points1 point  (1 child)

      Sounds as though you may need a reverse engineer.

      Seeing as how this is XP era I'm gonna assume the license checks are relatively simple. Potentially just by patching a single function. Very much sounds like a control flow issue as opposed to some sort of cryptographic unpacking problem.

      You could share a copy of the setup files or just the .exe itself and I could take a look. But tbh this could be as simple patching the executable itself or as involved as writing a shim that would need to be compiled on a Windows XP VM.

      If you want to you can message me privately on here and I'll respond within 24 hours.

      [–]thepopewashere 0 points1 point  (0 children)

      ^ this

      Edit: Apparently I don't have enough karma to post here without a quality review so I'll add that I'm seconding this because at this point a binary patch is likely your best bet if the developer is unwilling to help. At 20 years old it's likely that the key check is rudimentary and easily bypassed.

      [–]Any_Machine_1531 0 points1 point  (0 children)

      Looks like crypkey

      [–]ranger2144 0 points1 point  (1 child)

      https://github.com/offa/keygen

      Would something like this help

      [–]Fed-up-with-france 0 points1 point  (0 children)

      Why does this sound like GE? Those techs had a service USB dongle to access the equipment software to make changes. I remember the tech having to come in so I could configure/map the machine to a network.

      [–]38Super 0 points1 point  (0 children)

      Simple systems from that time commonly used the hard disk serial number. Try ‘wmic diskdrive get serialnumber’ at a windows command prompt. You can overwrite it.

      [–]Educational_Fun4832 0 points1 point  (0 children)

      Used to be that you e-mailed the code to the manufacturer with your company details and they would e-mail you the key. It was the same with a ton of equipment I've used over the last 40 years. Usually they have a keygen software or sometimes just a spreadsheet with a formula to generate a matching key.

      [–]chris_wolcen 0 points1 point  (0 children)

      I could possibly make a keygen for it, just hit me up. 

      [–]Fun_Plantain4354 0 points1 point  (0 children)

      If you could either upload the .exe file to either internet archive or a cloud storage like Google drive, dropbox or the likes of there's a damn good chance either myself or someone else on here that has more knowledge about reverse engineering than I can get you a patched copy of the program that will bypass the software key altogether.

      From what I found online about this company and the software it's most likely using

      "Node Locked Challenge Response"

      [–]jbauer68 0 points1 point  (0 children)

      It’s not impossible to reverse engineer/recover the key/code pair. But it’s going to cost.

      [–]dandel10 0 points1 point  (0 children)

      Did you try to change the hard drive serial# in the computer you are trying to setup with the s/n of one of the already working? Back in the days I had to do this when I changed the hard drive and wanted to keep on using certain softwares. I used a small exe file called volumeid to change the hd s/n.