Статус: еще не сделал. Может кто‑нибудь поможет? =)
Во‑первых, декомпилировал саму Идею. Нашел класс, в который переименовал их обфускатор изначальный класс GeneralLicenseManager.
Можно в GeneralLicenseManager просто запатчить validateLicense и попробовать пересобрать Идею, но это уже кряк, это плохой метод.
Дальше взял оттуда два захардкоженных ключа, два BigInt. Вроде нашел метод, где чекается сам ключ, но в декомпилированной жаве трудно разобраться.
Временно бросил и распаковал UPX'ом старый кейген от EMBRACE. Кстати, эти пидорги запаковали такой комбинацией, что распаковывает только стандартный распаковщик, продвинутые создают кривые бинари. Ладно. Открыл в IDAPro и нашел место где считается ключ. Но там даже в псевдокоде адская каша. Используются какие‑то ключи, но они не совпадают (по тексту) с никакими ключами из декомпилированной старой Идеи, и вообще это Char[33] и Char[37].
Наверное я слишком много не спал и туплю адово :3
Если кто‑то уже проделал эту работу, может скажете ответ? Хотелось бы даже не конкретное решение, а примерное описание, как из исходников Идеи выдернуть код проверки ключа и обратить его.