How to create an invisible or protected process?
How to create an invisible or protected process?
Hello.
I am distributing a program which has a simple server to handle and count the active users of my program.
This little .exe is critical because if the user has purchased one license this app will stop the second user which trying to access the program.
So, i want a solution to make this process invisible from process tree or to protect it and make it impossible to kill be the user.
A good example is the Ad-Aware.
If the user kill its process from the process explorer the process rerun automatically.
Another example is the Avast antivirus. Is the user try to kill its process receive the message "Error terminating process: Access is denied!"
Is it possible to do that?
Thanks i n advance.
Regards.
Thanos
I am distributing a program which has a simple server to handle and count the active users of my program.
This little .exe is critical because if the user has purchased one license this app will stop the second user which trying to access the program.
So, i want a solution to make this process invisible from process tree or to protect it and make it impossible to kill be the user.
A good example is the Ad-Aware.
If the user kill its process from the process explorer the process rerun automatically.
Another example is the Avast antivirus. Is the user try to kill its process receive the message "Error terminating process: Access is denied!"
Is it possible to do that?
Thanks i n advance.
Regards.
Thanos
Last edited by thanos on Fri May 01, 2009 7:25 am, edited 1 time in total.
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
Just a friendly piece of advice: If the "process invisibility" is not something that the end-user can control or know about pre-purchase your software will have a high chance to be classed as malware.... make this process invisible from process tree ...
Tampering with users/customers computers without they consenting to it before the fact is not popular. Especially as "hiding a process" is done by tampering with the internals of the operating system.
Online activation is a whole other thing. If you publicly state to the users/customers that you software uses online activation before the download/purchase it's up to the users to choose if they agree with that or not.
> Tampering with users/customers computers without they consenting to it
> before the fact is not popular. Especially as "hiding a process" is done by
> tampering with the internals of the operating system.
Don't be silly. There's nothing wrong with protecting your app's process. :roll:
> before the fact is not popular. Especially as "hiding a process" is done by
> tampering with the internals of the operating system.
Don't be silly. There's nothing wrong with protecting your app's process. :roll:
I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
If you do it with a rootkit it's not right imho and many would agree with me. Example: Sony tried this stunt for CD:s and it brought them tons of bad press.Don't be silly. There's nothing wrong with protecting your app's process.
DRM is a grayzone as long as there is info before the purchase and/or installation and if the DRM is guaranteed to be uninstalled if the host-program is uninstalled.
Side note: I skipped GTA IV because of DRM. (And I have bought the whole series before that, so I would 100% have bought it if it wasn't for the DRM).
> Sony tried this stunt for CD:s
That was a different kettle of fish. They weren't protecting a software app.
They were secretly installing an app when the user was expecting to play
a music CD. That's a MASSIVE difference.
That was a different kettle of fish. They weren't protecting a software app.
They were secretly installing an app when the user was expecting to play
a music CD. That's a MASSIVE difference.
I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
Fair enough, you right that this was not exactly the same.That was a different kettle of fish. They weren't protecting a software app.
But I still think that any kind of rootkits to protect software applications is plain wrong. I think DRM is OK if the customer can read a notice of this outside the box (or on the website) before purchase, so that there is a clear option to opt out if the user is not willing to comply.
The only exception to rootkits is when the user installs one for specific needs or when the user chooses to use an anti-virus-package that uses rootkit technology to do it's protective work on the users system.
Furthermore I think that any software that "calls home" also should be very clear about this fact, and state why it's calling.
Since I started to work I've bought almost every game I've played and program I've been using. I have also gotten "burned" to many time on idiotic copy-protection schemes.
The most obvious idiot-copy-protection is the "CD-in-drive-required". Since I'm a long time Laptop user and I travel in my work at least once a week, I'd hate to have 10's of CDs with me in my bags, just in case I'll feel to play some specific game in the evening at some hotel somewhere.
Do you know what I have to do? I have to download a crack .exe for games I've legally bought just to use them without having to carry all the CDs. And it saddens me even more when I think that this "cracked version" is what pirates are getting default on download. This means that I, as a legal customer, am given an inferior version of the program that the punks that just steal the game in the first place!
Summary: Don't use copy protection if the result is that legal customers are worse of than the pirates!
You are free to disagree with me on any of this, I just state my opinion on these matters

@idle, @mistrel
As i said in the header i am interesting for a hidden or protected process. The protected it is prefferable.
@Mahan
I just to check the active users of my application. Nothing more.
@PB
Thanks! I started to feel like a dangerous cracker
@All
I apologize for not being as clear as needed.
As the title said i want to start a proccess which is either invisible or protected.
The picture below gives an example of the Avast! Web Scanner.
I tried to kill this process but i took the following message:
Error terminating process: Access is forbidden!

So, i want to set a "protected" process like the above.
Regards
Thanos
As i said in the header i am interesting for a hidden or protected process. The protected it is prefferable.
@Mahan
I just to check the active users of my application. Nothing more.
@PB
Thanks! I started to feel like a dangerous cracker

@All
I apologize for not being as clear as needed.
As the title said i want to start a proccess which is either invisible or protected.
The picture below gives an example of the Avast! Web Scanner.
I tried to kill this process but i took the following message:
Error terminating process: Access is forbidden!

So, i want to set a "protected" process like the above.
Regards
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
Thank you for the response.Mahan wrote:...Online activation is a whole other thing. If you publicly state to the users/customers that you software uses online activation before the download/purchase it's up to the users to choose if they agree with that or not.... make this process invisible from process tree ...
I want to check the connected users into a local network, without internet access. If a user buy a 2 users license of my software i want to stop the third user who can try to connect to the program's database.
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
If the nature of the software is that it is "networked" and that the general function of it requires that the multiple users (nodes/endpoints) connect together for optimal use, you might very well write some copy-protection. (example: multiplayer game etc.)I want to check the connected users into a local network, without internet access. If a user buy a 2 users license of my software i want to stop the third user who can try to connect to the program's database.
The first thing you probably want to do is to tell the running processeses (of your software) how many TOTCON (total number of connections) are allowed.
This can be done in several ways but my two suggestions are:
1. If you sell a low volume of the software, you might have the TOTCON as a constant in your code, and just change it appropriately and recompile the program and send to a customer.
2. If you plan in selling this program on a website, you could develop some kind of registration code system, where TOTCON was coded together with the customers name. The application would need to be registered with a bought code to run and once running, it would know TOTCON from that code.
Due to firewalls being part of operating systems nowadays, I'd also recommend that you code a specific server-application. The real program you have now is the client, but the server would be the "communication hub" and authenticator and could then keep track of the TOTCON vs licenses.
Final note: If networking is not crucial for your applications work this will obviously fail because in that case it's easy to just tell the firewalls on each computer that your application is not allowed to access the network and then the whole TOTCON idea will fail.
Thank you for the response.Mahan wrote:...I'd also recommend that you code a specific server-application. The real program you have now is the client, but the server would be the "communication hub" and authenticator and could then keep track of the TOTCON vs licenses.
I already followed what you are suggesting.
I had code a simple application server which handle the total connections via network connection functions.
I want to protect the application server process because if one user kills the application's server process accidentally or not accidentally the program will terminate and all the active users will lose their work.
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!