我如何混淆一个Int64,使它不明显知道原始值?我并不是在寻找一些可怕的东西,一些简单的混淆方法。
发布于 2020-10-28 19:43:04
将其与静态值进行异或运算。再次使用相同的静态值进行异或,以获得原始值。
发布于 2020-10-28 21:46:01
为什么要对其进行模糊处理?你在混淆什么?
例如,如果您试图保护单个64位整数不受static analysis的影响,xor方法将在某种程度上保护它。如果您正在寻找来自dynamic analysis的保护,那么您将需要一个更复杂的解决方案来提供反调试和防篡改保护。
为什么这个常量值得保护?对此的编程约束是什么,例如,这个值需要多长时间才能显示一次?
使用真正的加密算法进行加密将比使用其他值进行异或更深入,而且实际上并不是很难。您可以使用AES/CBC/PKCS5Padding (AES是一个current standard algorithm,CBC用于链接块(对于只有8个字节的数据,这并不重要),并且PKCS5Padding是填充,以允许小于块大小)。在互联网上有很多例子,包括SO (Rijndael就是AES)。
https://stackoverflow.com/questions/64572065
复制相似问题