Receiving FLEXlm Error -88,309: System Clock Has Been Set Back (2020)
community.flexera.com
community.flexera.com
On a related note I remember many years ago when I was using Windows, and there was a third-party utility to monitor the registry for changes.
I only had the trial version of the utility, but using the utility itself I found that they were storing information in the registry about when the trial would expire. So I was able to use the utility to discover and defeat the trial protection of itself.
So that was cool in and of itself. But I also found that, even though this was in a time before most software would do online checks, many pieces of software were able to know that the trial had expired even if I tried things like setting the clock back or removing registry entries they had created.
Probably some of those pieces of software were doing similar things to the one mentioned in the OP. But it never occurred to me at the time. I’m not even sure I would have thought of this even today if I were to try it.
But these days I use software that’s open source for a lot of things instead, and where I need proprietary software I pay for it instead. If it’s proprietary and not worth the money then it’s not worth using either. Though I am still sad that Adobe switched to a subscription based payment which I ended up not being able to afford and don’t want to sign up for again because of their horrible billing practices. So I am stuck not being able to run Adobe software even though I would have liked to.
I believe a full version of Opera was eventually released but it took a very long time.
They could get very creative about where the trial end date could be hidden. They could write it to random blocks of the fat32 partition marked as "free". They could even find unallocated blocks outside of the partition table and write it there.
Or you could write it to the contents of a file without going though the regular file APIs, so it's modification date wouldn't change.
As long as just one copy of the trial end date stays intact, it can simply take the latest one.
"What if two programs did this?"
This is why I used to feel bad for Hex Rays / IDA Pro. When your product is a disassembler, there's bound to be someone in your target audience capable of cracking your software.
P.S. Don't use a cracked IDA Pro. Checkout Hopper instead. It's reasonably priced and really solid software. Been using it on and off for years.
Disclosure: I'm currently an intern working on the product.
I hacked software for many years, for my personal amusement rather than profit, as it always reminded me of being a teenager hacking games for infinite lives, etc.
Now and again I take a stab at commercial linux software, but there isn't so much out there with the standard "Enter License Key" kinda protection.
Now you have Cheat Engine[1] specializing just on that
https://alexomara.com/blog/a-silly-anti-disassembly-trick/
backup links:
https://web.archive.org/web/20210830080742/https://alexomara...
> One of the limitations to at-least the demo of Hopper is that it is not able to disassemble itself.
I was curious as to whether this limitation was present in the latest licensed version of Hopper (4.8.2).
I can confirm that I can indeed disassemble Hopper itself. Whether there's some intentional mistakes in that disassembly I don't really have time to delve into, unfortunately.
Blackmagic Davinci Resolve is pay-once-for-life, works on linux, and is better than Premiere.
Even if it were only equally good, not being subscriptionware means I'm a loyal user.
I still don't have a Lightroom replacement, so I just crack it.
Darktable has its fans as well, but I haven't tried recent versions.
The license isn't expensive for what you get. I bought the USB dongles so I can easily transfer it between computers and also completely block Resolve from accessing the network via Little Snitch.
I can also heartily endorse the Speed Deck control surface, which is way less than $300 and also comes with a pro license.
When I come across files that DaVinci Resolve won’t open, I convert them to a format that DaVinci Resolve likes by first using the open source command-line utility ffmpeg.
Of course that's all rather silly since a 1 byte change in WinMain also defeats this, but that requires modifying the program ...
FLEXlm was originally written by just one guy. I think I remember his name -- his initials are M.C. if anyone would like to confirm that I'm recalling correctly. When he sold his stake he got ~$10 million. The software went through many ownership changes. I think this was when it went from Globetrotter to Macrovision. When he got his ~$10 million he gave about $2 million to his current employees as a gift. I thought it was a very honorable thing. He had no legal obligation to do so.
This isn't inside information; it was all published somewhere but it's funny how the web can "forget" things after a couple decades.
EDIT: I found something that at least confirms the name I was remembering, Matt Christiano, and a history[1] of license management that he wrote in 2007.
[1] http://reprisesoftware.com/blog/2007/01/a-brief-history-of-s...
It's like the word "protection" in the terms "copy protection" or "content protection". Those at least make clear that it is not the user who is being protected, but it's still disingenuous to suggest that a file is somehow harmed by being copied. If anything, having more copies of a file only makes it safer.
A string dump of the binary would likely show these directories, and even if they were obfuscated, an strace would reveal them as they probed the file dates.
If it has to execute on a PC, there is a way to break the protection. It's simply about making it too difficult to bother trying to break the protection.
It's the same in medium-size and large companies with "legal". All you need say is "Oh that's required by legal" and no-one applies any rational scrutiny to it because for some reason the "legal" and "security" departments are considered to house minds far superior to those of anyone else.
"Does having more copies of a file generally improve revenue security?" is probably a solid "no, not generally" with some very interesting exceptions.
https://web.archive.org/web/20210829234321/https://community...
It turned out the server didn't register them in when someone signed off.
So after troubleshooting we ended up doing exactly what this trick is protecting against, setting the server clock to somewhere in the future.
Worked nicely back then.
This was just as I left that place, a few weeks later my college told me they had found the problem: our previous it manager had installed a new instance of the license server on a faster machine. He had not installed the license files (nor documented it anywhere) though so the new server would just say thank you and discard the license token whenever anyone signed out.
It's a beautiful comment though, and an interesting scheme that could potentially break relatively easily.
In my experience, the license manager usually goes out to lunch at the most inopportune moment – usually before some important deadline, coincident with IT support (or anyone who is capable of fixing the license manager) being out of the office for an extended period.
They regularly do "license compliance shakedowns". This is not some trade secret, lots of ISV's do it. So the following is describing broadly how ISV's do it and nothing specific to Flexera.
The way it works is to have a licensing model not enforced perfectly by the DRM. Sell licenses per user, per machine, but allow usage outside that in some way. Make it the customer's duty to enforce license usage instead of the vendor.
Wait a while. Sales comes back and runs an audit, they see more users than licensed in the last X amount of time and require a "true up" fee before more licenses can be sold, or possibly under threat of terminating existing licenses.
The intent is to use the threat of disruption to the business as leverage to cough up more revenue than the customer planned to provide initially per their license agreement.
It is shady, but it works, and a widespread practice.
TL;DR becareful when adjusting the dates as there may be unintended consequences
This particular case of doing a technical check by chcking files" timestamp for timestamps set in the future is NOT a security reason. It is a license compliance check, but has nothing to do with security.
Also, if I were a customer of this company which apparently sells me IT Lifecycle tools that should help me with IT cataloging and omventory, I would be livid if the solution stopped working because it had identified "bad date" files somewhere in my IT landscape. I would migrate the hell away from it there are plenty of other vendors.
We have dedicated VMs to host the license daemons, so the failure scenarios proposed are unlikely: we've experienced - and corrected - time skews, but they didn't come close to affecting the license servers. Maintaining the license servers are an accepted part of the license cost.
I regret googling it.
1. Incorrectly set clock, corrected after files were modified.
2. Slightly corrupt file system.
3. Copied files from another system.
4. You're testing your own DRM.
5. Other software doing similar crazy things you're unaware of.
6. Testing software that needs the date changed for certain scenarios.
7. Bug in time sync software.
Others?
saas of course just threatens to turn things off when the bill isn't paid.
it's how big organizations work, nothing happens until it's annoying.
I build (internal only) Debian packages for Matlab and FLEXlm, and admin the license server. I've seen far more of FLEXlm than I care to.
Mathworks made the mistake once of asking for my feedback about their product, from a sysadmin's perspective. They received about three earfuls from me, about half of which was dedicated to my disdain for FLEXlm.
FLEXlm seems simple on the surface, but has poor and outdated documentation (even once you find and read through the 300-400 page tome that's floating around) and is a pain to debug when under fire.
We have it running well enough now, but the road to get there should frankly embarrass those who ship (and/or rely on) the software today. Frustratingly, Mathworks' response to my feedback largely boiled down to "it's 3rd party software, so we can't do anything about it." As if FLEXlm were a force of nature, and there were no viable alternate models for physics. Not a good look.
I don’t know much about DRM methods, but I assume this is a Windows95-level weak one?
Using a special MAC ID is way more convenient each time you buy a new workstation, or i.e. get it back with new components on warranty, or whatever, than waiting days or weeks for support to generate new keys.
But yeah, it's 2021, and most DRM is pathetic. Hardware keys are honestly the only truly effective DRM. (Although re hardware keys: Very annoying when you have 5+ softwares and need 5+ USB ports ... perhaps someone should create a bluetooth based DRM dongle or something like that.)
[1]: I would link CrackWatch but they seem to be down atm. https://www.reddit.com/r/CrackWatch/comments/lnbi5a/crack_wa...
Honestly, I hate all of these things. My employer spends multi-millions on software licenses every year. All these DRM schemes are painful, insulting, and inevitably break at the worst possible moment. We have one box -- legally acquired -- with a hardware dongle, plugged in the back of the machine. Someone smashed it when moving the thing accidentally. Were we inclined, with SEM, TEM, AFM and plenty of x-ray facilities, I'm sure that it's not beyond our ken to crack the sodding thing, and honestly, after that experience I was sorely tempted.
I'm fed up of being treated as a rich criminal by businesses. They want an un-get-out-able subscription agreement, for life, and with "markets made" at every available opportunity, i.e. $METRIC_FUCKTON_OF_MONEY for $MINIMAL_INCREMENTAL features. One commercial FEM solver I use charges per GPU, per CPU, and per year. The whole thing is based on maths invented in my university!
If you're paying bigbucks, try asking for better terms. Explain how painful it is for you, not to pay them, but to not be able to use their software. Maybe it will work.
I see cracked releases of flexlm software all the time (eg. autodesk products), so it's definitely being cracked.
Yes it is, and while I've not seen any evidence, I suspect that's partially why AutoDesk are changing their subscription model.
As for dongles, you can pay to have them cloned. Claimed turnarounds cheaper and faster that getting them from the software supplier in at least one instance. I've not used it, but godamn was tempting.
And that's one of the reasons why I'm glad we used HP servers with internal usb ports for this.
They also use encryption for their IP cores. It's RSA. The private key is conveniently called "rsa_key" in their binary. Which they shipped with symbols. Once you decrypt the IP cores you get the full source code, with original comments, to do with as you please.
It's all for show; the DRM in these "professional" tools is sillier than what games used in the 90s.
HA I may or may not have cracked something similar back in the day. It was using GetIfTable() which meant that you'd need to have a NIC with the exact same name and mac address.
Of course just dumping the output from a licensed machine and injecting it into the memory when needed did the trick.
Checking for files-from-the-future as evidence of clock-tampering is certainly not a new technique - and I'm sure it predates Windows 95.
I am familiar with a slightly improved version of the technique: rather than checking actual filesystem files, instead the DRM opened the HDD as a raw device and would write multiple redundant copies of timestamps and usage logs to unallocated parts of the disk - so even restoring a HDD (at the filesystem level) wouldn't be enough to make the DRM system think it was back-in-the-past. You'd have to do a raw low-level HDD restore that included the state of unallocated - but written - disk contents. I gather it would also raise a fuss if it couldn't find any of its previously written logs either.
...I don't know what happens if you try to run the software on a disk with zero free disk space, however.
I think it was used by some Macromedia titles in the late 1990s - or software of that variety.
It will still work, at least on windows. That's because it reserves some sectors at the end as hidden sectors that applications can't directly access. source: https://en.wikipedia.org/wiki/Microsoft_Reserved_Partition
This craps itself when you run Grub, which happily scribbles itself to the same area
Why does [insert random program here] need admin rights? Now you know!
So the threat model isn't really folks who are pirating any of this software off random warez sites and finding a crack - those users wouldn't be able to pay for a legitimate license anyway, so it's not like you're really losing profit from them.
This is more of a "locks keep honest people honest" licensing scheme. Your IT department is unlikely to set up a large-scale system for distributing cracks, so it makes sure that a company that can afford it and is willing to pay for it is paying for the right number of licenses. But just like mostly-well-meaning people might wander into a place without locks, mostly-well-meaning people might "temporarily" forget to get a proper license for a new hire and then forget to ever fix it, or put the software on a shared drive, or never get around to doing the paperwork to buy a renewal, or whatever. Having any license-checking scheme at all makes them remember to do that.
MATLAB, for instance, currently sells a "standard" license for $2,150, not counting annual support costs. They also sell a "home" license for $149. By doing that, they're already banking on the fact that no serious company's IT department is going to just buy a bunch of "home" licenses and save themselves 93% of the licensing cost. They clearly don't need the DRM for the last 7% to be foolproof.
Vendors should be pushing for organization-level licensing. Anything per-user/core/project/etc. is going to require a lot of tracking overhead, and create much more incentives to game and gimmick it. I'm picturing the shops which stagger shifts at sites in different time zones so as to keep the simultaneous user count low, or people buying specific weird hardware to keep core counts low on per-core-licensed software.
If you're just doing organization-level licensing, you can scale all the counting back to a less disruptive and intensive "analytics-only" level, and just use it to inform the next round of negotiated pricing. "We know you have 500 simultaneous users, so we know this package is worth $50,000 per year to you."
That's like 1-2 simulator licenses per year. You really don't know the cost of the software generally being protected by FlexLM do you? When I was working in defense contracting, every new grad that we hired into our FPGA or ASIC groups had to be accompanied by a $100,000/yr budget just to pay for EDA tools for their jobs. For more senior employees who'd generally work more in parallel, it wouldn't be odd to see $300-500k/yr in software licenses budgeted. Because of this, we basically tried to staff as many software engineers as possible on projects as most of what we billed them at was just profit as they're incredibly cheap to employ compared to other engineering disciplines.
FlexLM is annoying, but the things it's usually protecting are so expensive (and often extremely niche use) that companies actively try to find every legal way to avoid paying for it.
Mass-market proprietary software generally has far simpler licensing, purely because their customer lists are far larger relative to their staff. The actual development costs spread out more.
But nowadays, a computer at the wrong date is pretty much unusable because of certificates, so much that it has become one of the typical tech support question, just after "is it plugged in".