diff --git a/BNLSProtocol/BNLSParse.java b/BNLSProtocol/BNLSParse.java
index ea71f82..1523403 100644
--- a/BNLSProtocol/BNLSParse.java
+++ b/BNLSProtocol/BNLSParse.java
@@ -87,6 +87,7 @@ public class BNLSParse{
* private static final byte PRODUCT_DIABLO = 0x09; //Fully Supported
* private static final byte PRODUCT_DIABLOSHAREWARE = 0x0A; //Fully Supported
* private static final byte PRODUCT_STARCRAFTSHAREWARE = 0x0B; //Fully Supported
+ * private static final byte PRODUCT_WAR3DEMO = 0x0C; //Fully Supported
*/
/*Flag definitions for BNLS_CDKEY_EX*/
diff --git a/HTTP/HTTPParse.java b/HTTP/HTTPParse.java
index 966aff9..49b1051 100644
--- a/HTTP/HTTPParse.java
+++ b/HTTP/HTTPParse.java
@@ -76,6 +76,7 @@ public class HTTPParse extends Thread{
"
| JSTR Checks | | |
" + CRLF +
" | W3XP Checks | | |
" + CRLF +
" | DRTL Checks | | |
" + CRLF +
+ " | W3DM Checks | | |
" + CRLF +
" " + CRLF +
" " + CRLF +
" |
" + CRLF +
@@ -143,6 +144,7 @@ public void run(){
page = page.replaceAll("", String.valueOf(HashMain.CRevChecks[8]));
page = page.replaceAll("", String.valueOf(HashMain.CRevChecks[9]));
page = page.replaceAll("", String.valueOf(HashMain.CRevChecks[10]));
+ page = page.replaceAll("", String.valueOf(HashMain.CRevChecks[11]));
page = page.replaceAll("", hex(Constants.IX86verbytes[Constants.PRODUCT_STARCRAFT - 1]));
page = page.replaceAll("", hex(Constants.IX86verbytes[Constants.PRODUCT_WAR2BNE - 1]));
page = page.replaceAll("", hex(Constants.IX86verbytes[Constants.PRODUCT_DIABLO2 - 1]));
@@ -152,6 +154,7 @@ public void run(){
page = page.replaceAll("", hex(Constants.IX86verbytes[Constants.PRODUCT_DIABLO - 1]));
page = page.replaceAll("", hex(Constants.IX86verbytes[Constants.PRODUCT_DIABLOSHAREWARE - 1]));
page = page.replaceAll("", hex(Constants.IX86verbytes[Constants.PRODUCT_STARCRAFTSHAREWARE - 1]));
+ page = page.replaceAll("", hex(Constants.IX86verbytes[Constants.PRODUCT_WAR3DEMO - 1]));
page = page.replaceAll("", String.valueOf(Constants.requireAuthorization));
page = page.replaceAll("", Constants.build);
page = page.replaceAll("", Constants.strNews[0]+"
"+Constants.strNews[1]+"
"+Constants.strNews[2]+"
"+Constants.strNews[3]+"
"+Constants.strNews[4]);
@@ -238,7 +241,9 @@ else if(file.equalsIgnoreCase("/DRTL.zip"))
else if(file.equalsIgnoreCase("/DSHR.zip"))
sendHashFile("DSHR", Constants.DSHRfiles);
else if(file.equalsIgnoreCase("/SSHR.zip"))
- sendHashFile("SSHR", Constants.SSHRfiles);*/
+ sendHashFile("SSHR", Constants.SSHRfiles);
+ else if(file.equalsIgnoreCase("/W3DM.zip"))
+ sendHashFile("W3DM", Constants.W3DMfiles);*/
else{
send404(file);
}
diff --git a/Hashing/CheckRevisionV1.java b/Hashing/CheckRevisionV1.java
index b1b3ebf..4bd3ad5 100644
--- a/Hashing/CheckRevisionV1.java
+++ b/Hashing/CheckRevisionV1.java
@@ -336,7 +336,9 @@ public static int getVersion(String[] files, int prod){
int ver = 0;
try{
ver = PE.getVersion(files[0], false);
- if(prod == Constants.PRODUCT_WARCRAFT3 || prod == Constants.PRODUCT_THEFROZENTHRONE){
+ if(prod == Constants.PRODUCT_WARCRAFT3 ||
+ prod == Constants.PRODUCT_THEFROZENTHRONE ||
+ prod == Constants.PRODUCT_WAR3DEMO){
ver = (ver & 0xFF000000) >>> 24 |
(ver & 0x00FF0000) >> 8 |
(ver & 0x0000FF00) << 8 |
diff --git a/Hashing/HashMain.java b/Hashing/HashMain.java
index fb6df72..6c7adb2 100644
--- a/Hashing/HashMain.java
+++ b/Hashing/HashMain.java
@@ -19,7 +19,7 @@
public class HashMain {
//Only compilied once(as needed), then stored
- public static int CRevChecks[] = new int[0x0B];
+ public static int CRevChecks[] = new int[0x0C];
public static int WAR3KeysHashed=0;
public static int STARKeysHashed=0;
diff --git a/util/Constants.java b/util/Constants.java
index 19410bf..b3c52ba 100644
--- a/util/Constants.java
+++ b/util/Constants.java
@@ -1,7 +1,7 @@
package util;
public final class Constants{
-
+
public static final byte PLATFORM_INTEL = 0x01;
public static final byte PLATFORM_POWERPC = 0x02;
public static final byte PLATFORM_MACOSX = 0x03;
@@ -17,27 +17,29 @@ public final class Constants{
public static final byte PRODUCT_DIABLO = 0x09;
public static final byte PRODUCT_DIABLOSHAREWARE = 0x0A;
public static final byte PRODUCT_STARCRAFTSHAREWARE= 0x0B;
- public static String[] prods = {"STAR", "SEXP", "W2BN", "D2DV", "D2XP", "JSTR", "WAR3", "W3XP", "DRTL", "DSHR", "SSHR"};
+ public static final byte PRODUCT_WAR3DEMO = 0x0C;
+ public static String[] prods = {"STAR", "SEXP", "W2BN", "D2DV", "D2XP", "JSTR", "WAR3", "W3XP", "DRTL", "DSHR", "SSHR", "W3DM"};
public static String[][] IX86files = {
- {"IX86/STAR/", "StarCraft.exe", "Storm.dll", "NULL", "STAR.bin"},
- {"IX86/STAR/", "StarCraft.exe", "Storm.dll", "NULL", "STAR.bin"},
- {"IX86/W2BN/", "Warcraft II BNE.exe", "Storm.dll", "Battle.snp", "W2BN.bin"},
- {"IX86/D2DV/", "Game.exe", "NULL", "NULL", "D2DV.bin"},
- {"IX86/D2XP/", "Game.exe", "NULL", "NULL", "D2XP.bin"},
- {"IX86/JSTR/", "StarcraftJ.exe", "Storm.dll", "Battle.snp", "JSTR.bin"},
- {"IX86/WAR3/", "Warcraft III.exe", "NULL", "NULL", "WAR3.bin"},
- {"IX86/WAR3/", "Warcraft III.exe", "NULL", "NULL", "WAR3.bin"},
- {"IX86/DRTL/", "Diablo.exe", "Storm.dll", "Battle.snp", "DRTL.bin"},
- {"IX86/DSHR/", "Diablo_s.exe", "Storm.dll", "Battle.snp", "DSHR.bin"},
- {"IX86/SSHR/", "Starcraft.exe", "Storm.dll", "Battle.snp", "SSHR.bin"}
+ {"IX86/STAR/", "StarCraft.exe", "Storm.dll", "NULL", "STAR.bin"},
+ {"IX86/STAR/", "StarCraft.exe", "Storm.dll", "NULL", "STAR.bin"},
+ {"IX86/W2BN/", "Warcraft II BNE.exe", "Storm.dll", "Battle.snp", "W2BN.bin"},
+ {"IX86/D2DV/", "Game.exe", "NULL", "NULL", "D2DV.bin"},
+ {"IX86/D2XP/", "Game.exe", "NULL", "NULL", "D2XP.bin"},
+ {"IX86/JSTR/", "StarcraftJ.exe", "Storm.dll", "Battle.snp", "JSTR.bin"},
+ {"IX86/WAR3/", "Warcraft III.exe", "NULL", "NULL", "WAR3.bin"},
+ {"IX86/WAR3/", "Warcraft III.exe", "NULL", "NULL", "WAR3.bin"},
+ {"IX86/DRTL/", "Diablo.exe", "Storm.dll", "Battle.snp", "DRTL.bin"},
+ {"IX86/DSHR/", "Diablo_s.exe", "Storm.dll", "Battle.snp", "DSHR.bin"},
+ {"IX86/SSHR/", "Starcraft.exe", "Storm.dll", "Battle.snp", "SSHR.bin"},
+ {"IX86/W3DM/", "War3Demo.exe", "Storm.dll", "Game.dll", "W3DM.bin"}
};
- public static int[] IX86verbytes = {0xD3, 0xD3, 0x4f, 0x0e, 0x0e, 0xa9, 0x1E, 0x1E, 0x2a, 0x2a, 0xa5};
+ public static int[] IX86verbytes = {0xD3, 0xD3, 0x4f, 0x0e, 0x0e, 0xa9, 0x1E, 0x1E, 0x2a, 0x2a, 0xa5, 0x01};
public static String[] IX86versions = {"", "", "2.0.2.1", "1.14.3.71", "1.14.3.71", "", "", "", "2001, 5, 18, 1", "", ""};
public static String[] IX86certs = {"", "", "", "", "", "", "", "", "", "", ""};
-
+
public static String ArchivePath = "DLLs/";
public static String LogFilePath = "./Logs/";
-
+
public static String build="Build V3.1 Bug Fixes, SQL Stats tracking. (10-14-07)";
//public static String build="Build V3.0 BotNet Admin, Lockdown, Legacy Clients.(07-07-07)";
//public static String build="Build V2.9 Remote admin, extended admin commands w/ JSTR support.(01/18/06)";
@@ -60,7 +62,7 @@ public final class Constants{
public static String BotNetUsername = "";
public static String BotNetPassword = "";
public static String BotNetServer = "www.valhallalegends.com";
-
+
public static boolean LogStats = false;
public static String StatsUsername = "";
public static String StatsPassword = "";
@@ -72,12 +74,12 @@ public final class Constants{
public static boolean StatsLogBotIDs = true;
public static boolean StatsLogConns = true;
public static boolean StatsCheckSchema = true;
-
+
public static String DownloadPath = "./";
-
+
public static boolean RunHTTP = true;
public static int HTTPPort = 81;
-
+
public static int lngServerVer=0x01;
public static int numOfNews=0;
public static String[] strNews={"", "", "", "", ""};