对二进制文件的内容进行反向工程
Reverse Engineer contents of a Binary File?
本文关键字:二进制文件 更新时间:2023-10-16
我正在为我的应用程序的注册用户创建一个二进制文件。用户已经知道文件中存储了什么信息,因为他在注册时向我提供了这些信息。每次启动我的应用程序时,都会读取注册文件,并将其与从硬件获得的信息进行比较。因此,我担心"超级用户"是否能够理解信息存储在文件中的逻辑。
长话短说,有可能对二进制文件的内容进行逆向工程吗?如果是,那么检查注册申请的更好方法是什么?
二进制不会阻碍任何有逆向工程经验的人。"回到我的时代"(90年代)二进制通常是默认的选择。
黑客将能够击败你的注册过程,不是通过伪造注册文件,而是通过更改检查它的指令。(顺便说一句,指令也是二进制的。)加密没有用,因为所有东西都在一台机器上,黑客可以在程序内使用调试器读取RAM中的明文。他们可能并不在乎,因为他们会追求"业务逻辑",即设置一个显示错误的标志并退出。
当合法用户升级或切换计算机时,将注册绑定到特定机器也会让他们感到沮丧。
在这个网络时代,一个好方法是让机器给家里打电话,但这有点突兀。
在我的脑海中,你可以根据注册哈希码和实时时钟以不规则的间隔访问服务器(一定要正确处理时区)。由于这不是在应用程序发布时完成的,黑客将很难找到它。如果两个不同的IP地址同时用相同的哈希码打电话回家,请指示他们全部删除注册文件,并提示用户重新注册。
相关文章:
- 正在读取二进制文件(is_open)
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何从二进制文件中读取字符串
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- Android 在编译二进制文件时重建静态库
- 在 C++ 中将双精度变量写入二进制文件
- clang 的 libFuzzer 可以在同一二进制文件中测试超过 1 个 API 吗?
- C++:实际上不是从二进制文件中读取
- 如何从二进制文件中的给定符号中获取调用程序图
- 将内部带有矢量的结构保存/读取到二进制文件中
- 编译多个C++文件.调用二进制文件以运行代码
- 如何使用位字段将数据从二进制文件复制到结构中?
- uint8_t同一二进制文件的不同十进制值
- C++单个生成文件多个二进制文件
- 尝试将数字写入二进制文件时引发异常
- C++中读/写二进制文件
- 如何忽略某些二进制文件的执行?
- 对在不同二进制文件中创建的对象文件的依赖关系
- 我的 SDL2 程序需要哪些二进制文件,以便它在另一台未安装 SDL2 的计算机中工作