读取数据库的数据库文件和应用程序。应用程序添加了一个注册组件。如果用户不想注册,他们可以简单地下载开源应用程序,将数据库复制到新文件夹中,运行批处理文件,数据库就会在应用程序中打开,完全消除注册和添加的任何额外功能。
我希望将数据库文件保留在内部,即使这意味着将db文件添加到主应用程序的资源中。该文件确实需要将数据写入该文件。
我已经将批处理文件转换为exe文件并加载数据库文件,甚至将数据库文件重命名为晦涩难懂的名称,如abc.exe (尽管它是db文件,但可以重命名为任何名称)。
数据库文件被重命名为可执行文件的时候,我更喜欢以某种方式将其加密或放置到我的主应用程序的资源中,并以这种方式访问,我只是试图限制该软件可能被盗版的方式。
发布于 2019-06-05 08:42:25
EXE
扩展。你想要达到什么目的?默默无闻?将其重命名为EXE
可能会欺骗一些用户(当然不是我上面描述的动机用户),但也可能会意外地欺骗在合法用户的操作系统上运行的反恶意软件/反病毒软件,使其认为您的应用程序正在编写格式错误的可执行文件(这将是可疑的),并关闭您的应用程序,或者至少阻止它正常工作。这将导致您的用户不使用您的应用程序或堆积如山的支持。它有什么好处?它会阻止“哑巴”用户尝试在SQLite查询工具中打开它
总而言之,如果你想限制你的用户读取存储在他们自己的存储设备上的数据的能力,你真的无法阻止一个坚定的用户。您可以阻止不太精明的用户。大多数用户无法在C#程序集上运行反射器并弄清楚它在做什么,但许多用户可以。如果您想阻止不太精明的用户,数据加密将阻止他们中的大多数,这将是您讨论过的最不可能阻止您的应用程序“在野外”工作的方法。
https://stackoverflow.com/questions/56452825
复制相似问题