Єдина проблема була в тому, що той плаґін був платний, і що давав 30 днів пробного періоду, а за такий короткий час той плаґін навіть не розпробуєш.
Тому я зацікавився найперше, як цей плаґін визначає, що закінчився термін пробного періоду.
Пробував шукати в реєстрі ключі з ім'ям або текстом Illuminated, не знайшов нічого. Потім методом проб і помилок знайшов папку .IdeaIC2016\config\plugins\IlluminatedCloud\lib\TurboActivate і знайшов там TurboActivate.dat і TurboActivate.dll.
Також після того я знайшов одну статтю, де один чувак пише про те, як обійти захист TurboActivate http://www.manhunter.ru/underground/683_issledovanie_zaschiti_programmi_letasoft_sound_booster.html і, хоча я зовсім не знаю асемблера, вирішив спробувати скачати IDA і пошукати там значення, яке відповідає за визначення, чи ліцензія активна, чи ні. Однак в мене виникли проблеми з тим, що я скачав 32-бітну версію IDA і нею я міг патчити тільки 32-бітну бібліотеку TurboActivate.dll, а мій плаґін використовував, вочевидь, 64-бітну версію цієї бібліотеки, тому навіть після того, як я хакнув TurboActivate.dll, мені далі вискакувало повідомлення, що залишилося 8 днів пробного періоду. Тоді я спробував взагалі видалити 64-бітну версію цієї бібліотеки разом з папкою.
Помилка, що виникла при наступному запуску ідешки
Caused by: java.lang.Error: The system cannot find the path specified.наштовхнула мене на іншу думку. А навіщо мені взагалі лізти в ту бібліотеку і асемблер, якщо можна просто відключити на рівні класу LicenseValidator? Я розпакував джарку, знайшов байткод класу LicenseValidator, дизасемблював його за допомогою цього сайту: http://www.javadecompilers.com/, замінив його код на такий, що повертає завжди тру на запит про те, чи пакет ліцензований, і який навіть не шукає і не запускає бібліотеки TurboActivate. Зробив проект в екліпсі, скомпілював його, перемістив скомпільовану версію цього класу в джарку, запустив інтеліджей айдію - вуаля, все працює, набридливе повідомлення про те, що залишилося 8 днів пробного періоду, зникло. Ура!
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:171)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
at com.sun.jna.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at turboactivate.TurboActivateNative.<clinit>(SourceFile:1113)
at turboactivate.TurboActivate.SetCustomProxy(SourceFile:763)
at com.illuminatedcloud.intellij.license.LicenseValidator.configureProxy(SourceFile:141)
at com.illuminatedcloud.intellij.license.LicenseValidator.validateLicense(SourceFile:76)
at com.illuminatedcloud.intellij.parser.ApexParserDefinition.<init>(SourceFile:38)