Да, так и есть... Значит, чтобы получить адрес хендлер нужен адрес jamOffs или адрес _this.
Написал функцию получения jamOffst и _this по известным хендлерам, для разных пакетов _this получается разный... При этом jamOffst совпадает с данными от LordJZ
Код:
//unsigned int op = 30375; //smsg notification
//unsigned int * handle = (unsigned int *)0x00401230;
unsigned int op = 43638; //smsg whois
unsigned int * handle = (unsigned int *)0x004CF590;
unsigned int * jamOffs = (unsigned int*)((unsigned int)handle + ((op | (op << 16)) ^ 0x62A3A31D));
unsigned int condensedId = op & 1 | ((op & 0x1C | (((op & 0xC0) | ((op & 0x1C00 | (op >> 1) & 0x6000) >> 2)) >> 1)) >> 1);
std::cout << std::hex << "Jam: " << jamOffs << std::endl;
unsigned int * _this = (unsigned int *)(jamOffs - 344 - condensedId);
std::cout << std::hex << "This: " << _this << std::endl;
Есть идеи как такое может быть?