Я сомневаюсь. Учитывая, что мак меняется, совпадения будут всегда. Я полгода разбирался с способами определения HWID и пришел к выводу, что на Java его нормально не реализуешь (Если извращениями вроде Runtime.getRuntime().exec() не заниматься). Я реализовал dllкой на C++, подрубленной через JNI. Невозможно декомпилировать (ну если в asm только), невозможно поломать.
Пример того, как определение HWID реализовывать НЕ НАДО:
http://mineclub.ru/ (
KyBbIPoK). Ребятки сделали через тот самый Runtime.getRuntime().exec(). Вроде как собирает всю инфу со всех сетевух, и даже (вроде) есть поддержка линукса. Но один минус. Во первых, обфускация хромает и ломануть это можно с помощью обычного InClassTranslator (изменить путь к "
ipconfig /all" на свой). Во вторых, он собирает ВСЮ инфу, в тч IP, имя компа и тд, а все это очень легко меняется.