【CE】游戏加密原理
本帖最后由 cqy666 于 2020-12-11 14:42 编辑如图所示:
当我们直接搜索1000011数值在内存找不到该值,是因为使用了倍数或异或加密。游戏显示数值为1000011,实际内存值为8000094。
增加数值执行加密算法:
public static int Encrypt(int value, int key)
{
//第一种倍数加密:
return 8 * value + 6;//32位汇编 lea eax, //64位汇编 lea eax,
//第二种异或加密:
return value ^ key; }
获取数值执行解密算法:
public static int Decrypt(int value, int key)
{
//第一种倍数解密:
return (value - 6) / 8;
//第二种异或解密:
return value ^ key;
}
好基础的知识 学到了 请问下shellcode是啥意思?(发不了贴)
页:
[1]