Can someone point me in the right direction regarding the following issue: I have a software that I just released which allows people to download from one of my website. The software was build so that people need the software in order to download from my website. But the problem is that after releasing the software people reverse engineered it and just found the original link of the file. What are the ways that I can hide a original link and make it work only for the software? Without using a db on my server?
It's really difficult to hide things from determined people. If your software is .Net based, make sure you've obfuscated it. An alternative strategy to the one you've tried might be to get your software to load a PHP page on your server, passing in arguments such as the ID of the file to be downloaded. The PHP page could then output XML back to the client containing the URL at which the file can be accessed. The page might even create a temporary copy of the file to be downloaded so that the URL returned is unique for the duration of that visit by your client software. This would mean that the true, original URL is never known to anyone other than yourself and changes each time someone wants to download.