1

我正在为我的应用程序的注册用户创建一个二进制文件。用户已经知道文件中存储了哪些信息,因为他在注册时向我提供了该信息。每次启动我的应用程序时,都会读取注册文件并与从硬件获得的信息进行比较。所以我担心“高级用户”是否能够理解信息存储在文件中的逻辑。

长话短说,是否可以对二进制文件的内容进行逆向工程?如果是,那么检查注册申请的更好方法是什么?

4

1 回答 1

3

对于任何有逆向工程经验的人来说,二进制都不会成为障碍。“回到我的时代”(90 年代)二进制通常是默认选择。

黑客将能够击败您的注册过程,而不是通过伪造注册文件,而是通过更改检查它的说明。(顺便说一句,指令也是二进制的。)加密是没有用的,因为一切都在一台机器上,黑客可以通过程序内部的调试器读取 RAM 中的明文。并不是他们可能在意,因为他们会寻找设置标志以显示错误并退出的“业务逻辑”。

将注册绑定到特定机器也会使合法用户在升级或切换计算机时感到沮丧。

在这个网络时代,一个好的方法是让机器打电话回家,但这有点突兀。

就在我的脑海中,您可以根据注册哈希码和实时时钟以不规则的时间间隔访问服务器(确保正确处理时区)。由于它不是在应用程序启动时完成的,因此黑客将很难找到它。如果两个不同的IP地址几乎在同一时间用相同的哈希码回拨,指示他们全部删除注册文件并提示用户重新注册。

于 2013-11-18T06:33:29.237 回答