Prevent software from running on new computers or virtual machines.

Hi,

Let's suppose you want to create software that can only run on old computers and not on new computers and not on virtual machines ?!

What kind of programming tricks would you use to try and avoid the software from being run on newer computers or virtual machines ? :)

Bye, Skybuck =D

Reply to
skybuck2000
Loading thread data ...

Use full-screen DOS video modes.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs 
Principal Consultant 
 Click to see the full signature
Reply to
Phil Hobbs

Compile it as 8bit, and use actual port addresses.

Reply to
Michael Terrell

any virtual machine that can't run your code is broken, so visit the bug tracker for each virtual machine and find out how to exploit those bugs. this is of-course a moving target.

For "newer computers" use feature deteiction or CPUID etc.

shipping the software with a parallel-port dongle might be another option

--
  Jasen.
Reply to
Jasen Betts

Run a loop & time check it. If too fast, program closes. Or less accurately, check for outdated architecture, RAM amount etc etc. Or compile it for trinary.

NT

Reply to
tabbypurr

You mean 16bit? I do have some old 16bit programs that havent run since 95 ;)

Cheers

Reply to
Martin Riddle

No. I was thinking about the 8008 processor, or maybe a Z80. ;-)

Reply to
Michael Terrell

Hmm there is dos box ? Indeed it does have some graphics flaws but ok.

Let's suppose application is for computation... would be a bit hard to do with only vga and such but perhaps...

Bye, Skybuck.

Reply to
skybuck2000

Hmmm I have never heard of an 8 bit compiler before ?

The port addresses sound kinda interesting, but don't vmware solution mimic these ports ???

Bye, Skybuck.

Reply to
skybuck2000

I would be interested to know which programs these are for further investigation ! =D

Bye, Skybuck =D

Reply to
skybuck2000

Dosbox doesn't run full-screen graphics apps AFAIK. dosemu on

16-bit-capable hardware does.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

)

Using a very strange micro architecture or instruction set might indeed be interesting however I think it might be duplicated or something...

Maybe FGPA's come to mind or so.

Problem with custom hardware idea is people would have to buy it to run the software on... and if the hardware is duplicated/virtualized... then they kinda bought it for nothing.

So for software it would be more interesting if it could say run on a 80486 or a pentium 166 or pentium 90 something that people might still have layi ng around.... but could then maybe use.

So the idea is to kinda re-use existing hardware but prevent manufacturers from creating insane ammounts of new hardware...

I am not even sure if this makes sense but maybe... maybe new hardware can be detected from old ones.

The running times mentioned by multiple could be interesting, but could als o be simulated.

However exact measures of everything might prevent VM software however then maybe the software becomes to specific to that exact hardware and if biose s and such have slight different timings then it might not work well.

It's interesting to give this timing a try and see how well that will work ;) :)

Perhaps one idea is try different timings to disconcern/diverse PC's from e ach other... and prevent software from running on same kind of computers, l ike somebody bought a whole bounch of em... like graphics cards ;)

But I am pretty sure somebody would quickly find a way to fool the software by intercepting timing calls or perhaps delay certain instructions... howe ver delaying certain instructions might not be that easy to do on hardware, then again a kernel could keep graphics card possibly to throw timings off .

If virtualized then almost anything is possible assuming time is "virtualiz ed/faked as well".

Bye for now, Skybuck.

Reply to
skybuck2000

That's so restrictive it's not even going to be portable between other old PCs, shurley?

--

"The BEST Deal is NO DEAL"
Reply to
Cursitor Doom

Dosbox runs games at full screen, all I need to do is press alt-enter to switch to full screen.

Not sure if I set this up in config or so.

I use dos box 0.65 for this.

Are you thinking of text apps ? Or perhaps hi-resolution apps 640x480 using vesa or so ?

I guess most apps on ms-dos were full-screen text apps.

I tried running edit on dosbox 0.65 but it's indeed not available. dosbox seems to have a minimum ammount of software to run dos games/apps, never really tried dos apps before. Hmmm.

DOS can run in VMware though, pretty sure of that, so dosbox can be circumvented by simply running in VMWare.

Could still be interesting though to restrict software to an emulator only or such and do exactly the opposite of topic title, at least this would "bind" the software to the emulator and prevent spreading to real world systems.

Though with clouds and such, not sure how usefull this would be.

I guess many cloud instances could run such software and thus it would not statisfy the topic of this thread.

Though if it was some old emulator that can't run on the cloud then it could be interesting ! ;) =D

Unfortunately I have zero-cloud experience =D

Bye, Skybuck =D

Reply to
skybuck2000

This could be interesting.

If the same could be done for graphics cards and graphics cards drivers, then software could also be prevented to be run on cuda graphics cards or AMD openCL graphics cards.

So exploiting bugs to crash certain solutions so that software can only run on certain hardware/cpu's drivers could be interesting.

Perhaps an evolver/evolution/machine learning could even help at finding bugs that crash certain hardware/driver/cpu/processor/gpu solutions.

Ok, this is also a somewhat cool idea, this is what windows 10 did.

"If new computer/if new instructions detected halt software".

Might be easy to hack it out, but still, another trick for the toolbox ! ;) =D

This could be done for cuda/graphics cards/amd/opencl as well, though would be a bit strange to do I guess, maybe some part of computation might be extracted and still done on cpu/gpu... but this is getting somewhere, somewhat interesting =D

Perhaps use some instructions which are CPU only and not GPU compatible.

I kinda don't want the software to run on a GPU as well, wasn't mentioned in topic but now you know ;) =D

I have heard of parallel port dongles before, I think they have been beaten/broken/hacked...

I haven't though or discussed hacking yet, but software should also be somewhat hack resistent but ok... can't have everything.

Problem with dongle it requires selling/distribution of "dongle devices". Less ideal.

Bye for now, Skybuck.

Thanks for your contribution at first I wasn't sure what you ment or if it was gonna be usefull but yeah this post of yours gave me some ideas ! ;) :)

Reply to
skybuck2000

Not the same thing. YCLIU.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

Ok too much RAM detected could be used ;) or too little ;)

Never heard of this one ? What you mean with this ? Sounds kinda like a joke ;) :)

I was thinking of itanium but nobody has those processors, not sure if virtual machines can simulate itanium ;)

Bye, Skybuck :)

Reply to
skybuck2000

When was the last time you saw a computer for sale that *had* a parallel port?

Mark L. Fergerson

Reply to
alien8752

Run any old Borland Turbo Pascal program and it will immediately terminate with divide-by-zero (actually overflow) in the init routine on too fast processors (Pentium II and later).

Reply to
upsidedown

snipped-for-privacy@downunder.com wrote in news: snipped-for-privacy@4ax.com:

Run it under an emulation of an older cpu.

That is how MAME runs all those old video games.

They even have pics of old computers and main boards too.

MAME not only emulates the CPUs and allowed us to play all those old games, but they captured a HUGE amount of the entire chip processed universe. They have pics of computers, calculators... all kinds of stuff. Way more than just the old upright video games.

Thing is, to get it all takes over 100GB of space and a lot of downloading and assembling of files so that the history and other elements to tell you what you are looking at fit together.

The emulations are there too, so some of them will actually bring up a console prompt and run code.

Reply to
DecadentLinuxUserNumeroUno

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.