对逆向工程隐藏字符数组

Hide char array from reverse engineer

本文关键字:数组 字符 隐藏 逆向工程      更新时间:2023-10-16

寻找对逆向工程隐藏char*的最简单方法。不一定是强加密,但很简单。它必须发生在标头中,这是我的代码:

#pragma once
const char * pw = "test";
#define PASS pw;

在源中使用PASS的位置。

我已经尝试过反向字符串和十六进制到文本,反之亦然,但没有成功。有人请为此发布一些简单的解决方案。

编辑:这只是一个例子。用户不会输入任何内容,我只需要从调试器中隐藏一个字符指针。最好的方法是什么?

标准方法是在代码中仅存储字符串的哈希值(离线计算和代码外部计算),并在运行时对要与之比较的任何用户输入进行哈希处理,然后比较哈希而不是普通密码

您可以存储密码的 XOR 值,然后对用户输入进行 XOR 比较。有关代码,请参阅此答案。

然后问题就变成了有人可以运行调试器或反汇编器,以在检查密码时显示程序正在做什么。