I
I
iunostb2020-07-03 14:30:58
USB flash drives
iunostb, 2020-07-03 14:30:58

How to distribute software using the method 1 USB flash drive = 1 program?

Good day! There is software that the customer wants to distribute using USB flash drives (the question of why we will leave it behind the scenes), respectively, there are the following criteria:
1) The application can only be launched via a USB flash drive
2) Protected from copying from a USB flash drive (ideally, of course, protection from reading the content)
3) The desired interaction with the user is as follows: I inserted the USB flash drive, the application window immediately appeared, drove it to work, worked (saved the result on the computer), pulled it out and the program closed.
So far, I can’t fully imagine what kind of algorithm of actions is needed here and what programs to use for this.
I will be grateful for any help!

Answer the question

In order to leave comments, you need to log in

5 answer(s)
H
hint000, 2020-07-03
@iunostb

Хэш(хэш(S/N флешки)+хеш(UUID раздела на флешке))or something like that. The specific hash algorithm is at the choice of the developer. You can also add a checksum from the executable file. Or subtract. Or multiply... etc. Plus a couple of false hashes calculated using other formulas to confuse crackers.
You can copy, but each instance of the program starts only if there is a specific flash drive. Not only when copying files, but also when cloning a partition from a flash drive, it will not pass the test and will not start.
Like any application of the security through obscurity principle, will be worthless protection from a good specialist. But the services of hackers are expensive, and ordinary system administrators do not want (and usually do not know how) to poke around in the debugger. So in practice, such "protection from Mr. and sticks" has a chance of success if the price of licensed software is not too high.

V
Victor L, 2020-07-03
@Fzero0

Using USB flash drives is a road to nowhere, most likely your customer needs to look towards Software as a service (SaaS) (“Software as a Service”)

R
Rsa97, 2020-07-03
@Rsa97

Any standard use of a flash drive is not suitable here, if the program can be run from a disk, then it can be read. If you can't read it, then you can't run it.
Is it possible to make a microcomputer on which the application server will run, and from the disk only launch an external interface that communicates with the server via USB.

C
CityCat4, 2020-07-03
@CityCat4

Ridiculous customer - ridiculous requirements ...
If

Launching the application only through a USB flash drive

Somehow else can be implemented by checking where the program started from
if
inserted the flash drive, the application window immediately appeared

can be implemented by making the flash drive pretend to be a drive and autostart,
then
Protected from copying from a flash drive

make it unrealistic.

T
ton1, 2020-07-06
@ton1

a flash drive is needed not simple but with hardware encryption. there were such mass production that with code entry buttons, that under the imprint - the essence is the same - until you do some actions, the files cannot be obtained.
Well, the option of iron keys, i.e. a special cryptomodule on usb so that the program climbs there for a unique number, but again, this is not quite a flash drive.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question