好吧,挖一下坟,顺便把Gameshark的加密转换源码和exe都发个上来
unsigned long seeds[15] = {
0xA1427921, 0xAC9528B1, 0xC5892354, 0x49671B12,
0xACC56121, 0xACB5381E, 0x765436E1, 0x9F2C3E54,
0x1133E312, 0xAC5E7894, 0xE9F208B1, 0x4E87DCFE,
0x43174312, 0x1D7A6C99, 0x874224A2
};
unsigned long decrypt_code(unsigned long address) {
int seed = seeds[(((address & 0xF0000000) >> 0x1C) - 1)];
int something = 6;
if (something & 4) address = (((address << 1) & 0x0FFFFFFE) | ((address >> 0x1B) & 1));
if (something & 2) {
address = (((address << 1) & 0x0FFFFFFE) | ((address >> 0x1B) & 1));
address = (((address << 8) & 0x0FFFFF00) | ((address >> 0x14) & 0xFF));
}
if (!(something & 1)) seed >>= 4;
return ((seed & 0x0FFFFFFF) ^ address);
}