diff --git a/libLauncher/src/main/java/ru/gravit/launcher/HWID.java b/libLauncher/src/main/java/ru/gravit/launcher/HWID.java index 4daa1c31..c72e8e74 100644 --- a/libLauncher/src/main/java/ru/gravit/launcher/HWID.java +++ b/libLauncher/src/main/java/ru/gravit/launcher/HWID.java @@ -5,5 +5,7 @@ public interface HWID { int getLevel(); //Уровень доверия, насколько уникальные значения + int compare(HWID hwid); + boolean isNull(); } diff --git a/libLauncher/src/main/java/ru/gravit/launcher/OshiHWID.java b/libLauncher/src/main/java/ru/gravit/launcher/OshiHWID.java index 1d13951d..a6877ae3 100644 --- a/libLauncher/src/main/java/ru/gravit/launcher/OshiHWID.java +++ b/libLauncher/src/main/java/ru/gravit/launcher/OshiHWID.java @@ -29,6 +29,21 @@ public int getLevel() //Уровень доверия, насколько уни return result; } + @Override + public int compare(HWID hwid) { + if(hwid instanceof OshiHWID) + { + int rate = 0; + OshiHWID oshi = (OshiHWID) hwid; + if(Math.abs(oshi.totalMemory - totalMemory) < 1024*1024) rate+=10; + if(oshi.HWDiskSerial.equals(HWDiskSerial)) rate+=50; + if(oshi.processorID.equals(processorID)) rate+=26; + if(oshi.serialNumber.equals(serialNumber)) rate+=15; + return rate; + } + return 0; + } + @Override public boolean isNull() { return getLevel() < 2;