对二进制文件的内容进行反向工程

Reverse Engineer contents of a Binary File?

本文关键字:二进制文件      更新时间:2023-10-16

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

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

二进制不会阻碍任何有逆向工程经验的人。"回到我的时代"(90年代)二进制通常是默认的选择。

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

当合法用户升级或切换计算机时,将注册绑定到特定机器也会让他们感到沮丧。

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

在我的脑海中,你可以根据注册哈希码和实时时钟以不规则的间隔访问服务器(一定要正确处理时区)。由于这不是在应用程序发布时完成的,黑客将很难找到它。如果两个不同的IP地址同时用相同的哈希码打电话回家,请指示他们全部删除注册文件,并提示用户重新注册。