Я пишу систему управления лицензиями для нашего проекта, и очень важно, чтобы она работала регулярно и правильно. Я написал несколько методов с открытым доступом в пакете; напримерjava: Предотвращение вредоносных изменений или модификация некоторых публичных функций в пакетах Java
// code to check correctness of password
public boolean checkIfPasswordIsCorrect(String password){
// my code here
}
Теперь я тревожно, если кто-то меняют .class
файлов в .jar
или .war
файле. Затем, например, он может переписать мой класс и методы таким образом, чтобы он всегда возвращал true; после этого моя система будет работать некорректно, что означает, что всегда разрешает пользователям получать доступ к своей службе.
Возможно, есть решение только для того, чтобы обфускать мой код, чтобы изменить имя классов или пакетов и смешать мой код в шаге деблокирования. Есть ли другая идея? Благодарю.
EDIT: Я не хочу выпускать свой код; Я только что выпустил скомпилированные файлы .jar
или .war
.
Использование обфускационного инструмента, такого как proguard http://proguard.sourceforge.net/ – Raghunandan
Что вы имеете в виду с _system будет работать некорректно_? Имеет ли система права, которых у пользователя нет? Есть ли пароль, жестко закодированный в вашей системе? –
Обе вещи, на которые указывает @amadeus, будут недостатками дизайна (если от этого зависит что-то более важное, чем высокий балл в игре). – Thilo