diff --git a/GamestatsBase/GamestatsHandler.cs b/GamestatsBase/GamestatsHandler.cs
index 7331daa..55e49b1 100644
--- a/GamestatsBase/GamestatsHandler.cs
+++ b/GamestatsBase/GamestatsHandler.cs
@@ -392,7 +392,7 @@ namespace GamestatsBase
///
Version1,
///
- /// Response contains a salted hash at the end, in hex coded ASCII.
+ /// Response contains a 40-byte salted hash at the end, in hex coded ASCII.
///
Version2
}
diff --git a/Sample/Sample.csproj b/Sample/Sample.csproj
index cfce990..ba91b78 100644
--- a/Sample/Sample.csproj
+++ b/Sample/Sample.csproj
@@ -65,6 +65,15 @@
+
+
+
+
+
+
+
+
+
Web.config
@@ -84,6 +93,33 @@
Global.asax
+
+ setProfile.ashx
+
+
+ rescueCheck.ashx
+
+
+ rescueEntry.ashx
+
+
+ rescueExist.ashx
+
+
+ rescueComplete.ashx
+
+
+ rescueList.ashx
+
+
+ rescueReceive.ashx
+
+
+ rescueRegist.ashx
+
+
+ rescueThanks.ashx
+
setProfile.ashx
diff --git a/Sample/pokedngnwii/web/common/setProfile.ashx b/Sample/pokedngnwii/web/common/setProfile.ashx
new file mode 100644
index 0000000..3f0ea00
--- /dev/null
+++ b/Sample/pokedngnwii/web/common/setProfile.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="setProfile.ashx.cs" Class="Sample.pokedngnwii.web.common.setProfile" %>
diff --git a/Sample/pokedngnwii/web/common/setProfile.ashx.cs b/Sample/pokedngnwii/web/common/setProfile.ashx.cs
new file mode 100644
index 0000000..0c3849e
--- /dev/null
+++ b/Sample/pokedngnwii/web/common/setProfile.ashx.cs
@@ -0,0 +1,28 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.common
+{
+ ///
+ /// Summary description for setProfile
+ ///
+ public class setProfile : GamestatsHandler
+ {
+ public setProfile() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ response.Write(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 0, 8);
+
+ }
+ }
+}
diff --git a/Sample/pokedngnwii/web/rescue/rescueCheck.ashx b/Sample/pokedngnwii/web/rescue/rescueCheck.ashx
new file mode 100644
index 0000000..8e898f7
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueCheck.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueCheck.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueCheck" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueCheck.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueCheck.ashx.cs
new file mode 100644
index 0000000..a1205ac
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueCheck.ashx.cs
@@ -0,0 +1,73 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueCheck
+ ///
+ public class rescueCheck : GamestatsHandler
+ {
+
+ public rescueCheck() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ // replay response from Receiving a Random A-OK Mail And Sending a Random Thank You Mail.pcapng
+ // request data:
+ // 0000: 8b9ca41c0c000000 1ca49c8b00000000
+ // 0010: 0001b14b
+ // note: the request data seems to share its format with rescueEntry
+
+ response.Write(new byte[] {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64,
+ 0xa9, 0x9f, 0x50, 0x07, 0x99, 0xcc, 0x61, 0xab,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xce, 0x6a, 0x33, 0x0a, 0x15, 0x85, 0x89, 0x88,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xdd, 0x30, 0xb1, 0x30, 0xe2, 0x30, 0xf3, 0x30,
+ 0xba, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x63, 0x81, 0x0d, 0x30, 0x0b, 0x00, 0x20, 0x00,
+ 0x16, 0x30, 0x32, 0x18, 0x18, 0x0e, 0x1f, 0x00,
+ 0x18, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x4a, 0x13, 0x40, 0x65,
+ 0x03, 0x28, 0x5e, 0x00, 0x00, 0x00, 0x20, 0x1c,
+ 0x46, 0x1d, 0x86, 0x1f, 0xe6, 0x1a, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x40, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x30, 0x6f, 0x30, 0x4c, 0x30, 0x82, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x82, 0x30, 0x4c,
+ 0x30, 0x6f, 0x30, 0x88, 0x30, 0x8d, 0x30, 0x57,
+ 0x30, 0x4f, 0x30, 0x4d, 0x30, 0x85, 0x30, 0x46,
+ 0x30, 0x58, 0x30, 0x87, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x63, 0x62, 0x31, 0x64,
+ 0x30, 0x31, 0x31, 0x38, 0x61, 0x38, 0x63, 0x34,
+ 0x31, 0x35, 0x65, 0x30, 0x31, 0x34, 0x64, 0x38,
+ 0x62, 0x37, 0x35, 0x66, 0x32, 0x33, 0x38, 0x38,
+ 0x32, 0x66, 0x37, 0x33, 0x31, 0x31, 0x63, 0x33,
+ 0x32, 0x30, 0x31, 0x39 },
+ 0, 300);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sample/pokedngnwii/web/rescue/rescueComplete.ashx b/Sample/pokedngnwii/web/rescue/rescueComplete.ashx
new file mode 100644
index 0000000..bf7fe1b
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueComplete.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueComplete.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueComplete" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueComplete.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueComplete.ashx.cs
new file mode 100644
index 0000000..cdbc317
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueComplete.ashx.cs
@@ -0,0 +1,46 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueComplete
+ ///
+ public class rescueComplete : GamestatsHandler
+ {
+ public rescueComplete() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ // replay response from A-OK Mission.pcapng
+ // request data:
+ // 0000: 8b9ca41cd4000000 1ca49c8b00000000
+ // 0010: 0001b14ace6a330a 41f73da200000000
+ // 0020: 0000000000000000 0000000000490000
+ // 0030: 0000000000000000 0000000000000000
+ // 0040: 0000000000000000 0000000000000000
+ // 0050: 0000000000000000 0000000000000000
+ // 0060: 0000000000000000 0000000000000000
+ // 0070: 306f306f306f306f 306f306f306f304c
+ // 0080: 304c304c304c304c 304c304c30823082
+ // 0090: 30823082306f306f 306f306f306f306f
+ // 00a0: 306f306f304c304c 304c304c304c304c
+ // 00b0: 304c304c30823082 3082308230823082
+ // 00c0: 30823082304c304c 304c304c304c304c
+ // 00d0: 304c304c306f306f 306f306f
+
+ response.Write(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00 },
+ 0, 12);
+
+ }
+ }
+}
diff --git a/Sample/pokedngnwii/web/rescue/rescueEntry.ashx b/Sample/pokedngnwii/web/rescue/rescueEntry.ashx
new file mode 100644
index 0000000..5c2152f
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueEntry.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueEntry.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueEntry" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueEntry.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueEntry.ashx.cs
new file mode 100644
index 0000000..d1d16ac
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueEntry.ashx.cs
@@ -0,0 +1,58 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueEntry
+ ///
+ public class rescueEntry : GamestatsHandler
+ {
+ public rescueEntry() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ // replay response from Random Mission.pcapng
+ // request data:
+ // 0000: 8b9ca41c0c000000 1ca49c8b00000000
+ // 0010: 0001b14a
+
+ response.Write(new byte[] {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0xa9, 0x9f, 0x50, 0x07, 0x3e, 0x86, 0xf3, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xdd, 0x30, 0xb1, 0x30, 0xe2, 0x30, 0xf3, 0x30,
+ 0xba, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x5b, 0x64, 0x87,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 0, 200);
+ }
+ }
+}
diff --git a/Sample/pokedngnwii/web/rescue/rescueExist.ashx b/Sample/pokedngnwii/web/rescue/rescueExist.ashx
new file mode 100644
index 0000000..6f644f8
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueExist.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueExist.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueExist" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueExist.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueExist.ashx.cs
new file mode 100644
index 0000000..5e057c9
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueExist.ashx.cs
@@ -0,0 +1,78 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueExist
+ ///
+ public class rescueExist : GamestatsHandler
+ {
+
+ public rescueExist() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ if (false)
+ {
+ // replay response from Invalid Code for Rescue Mission.pcapng
+ // request data:
+ // 0000: 8b9ca41c0c000000 1ca49c8b00000000
+ // 0010: 0001b197
+ // note: 1b197 corresponds to the inputted rescue ID of 110999 in big endian.
+
+ response.Write(new byte[] { 0x00, 0x00, 0x00, 0x0a },
+ 0, 4);
+ StreamWriter sw = new StreamWriter(response, Encoding.UTF8);
+ sw.Write(":(unknown error:'pokemonSwarm' is null or not an object.");
+ sw.Flush();
+ }
+ else
+ {
+ // replay response from CodeNotWorking.pcapng
+ // request data:
+ // 0000: 8b9ca41c0c000000 1ca49c8b00000000
+ // 0010: 0001b142
+
+ response.Write(new byte[]
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0xa9, 0x9f, 0x50, 0x07, 0xed, 0xa4, 0x96, 0xf7,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xdd, 0x30, 0xb1, 0x30, 0xe2, 0x30, 0xf3, 0x30,
+ 0xba, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x0d, 0x48, 0xa0,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x30, 0x4c, 0x30, 0x82, 0x30, 0x6f, 0x30, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x6f,
+ 0x30, 0x4c, 0x30, 0x00, 0x30, 0x6f, 0x30, 0x6f,
+ 0x30, 0x82, 0x30, 0x4c, 0x30, 0x82, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ }, 0, 208);
+ }
+ }
+ }
+}
diff --git a/Sample/pokedngnwii/web/rescue/rescueList.ashx b/Sample/pokedngnwii/web/rescue/rescueList.ashx
new file mode 100644
index 0000000..a555ff6
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueList.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueList.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueList" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueList.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueList.ashx.cs
new file mode 100644
index 0000000..06d013c
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueList.ashx.cs
@@ -0,0 +1,62 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueList
+ ///
+ public class rescueList : GamestatsHandler
+ {
+
+ public rescueList() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ // replay response from Random Mission.pcapng
+ // request data:
+ // 0000: 8b9ca41c20000000 1ca49c8b00000000
+ // 0010: 000000180000000c 0000000600000000
+ // 0020: 0000002000000001
+
+ response.Write(new byte[] {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xb1, 0x4a, 0xa9, 0x9f, 0x50, 0x07,
+ 0x3e, 0x86, 0xf3, 0x55, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xdd, 0x30, 0xb1, 0x30,
+ 0xe2, 0x30, 0xf3, 0x30, 0xba, 0x30, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x5b, 0x64, 0x87, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00 },
+ 0, 212);
+ }
+ }
+}
diff --git a/Sample/pokedngnwii/web/rescue/rescueReceive.ashx b/Sample/pokedngnwii/web/rescue/rescueReceive.ashx
new file mode 100644
index 0000000..b3d76ee
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueReceive.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueReceive.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueReceive" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueReceive.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueReceive.ashx.cs
new file mode 100644
index 0000000..b9a0875
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueReceive.ashx.cs
@@ -0,0 +1,58 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueReceive
+ ///
+ public class rescueReceive : GamestatsHandler
+ {
+
+ public rescueReceive() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ // replay response from Random Mission.pcapng
+ // request data:
+ // 0000: 8b9ca41c0c000000 1ca49c8b00000000
+ // 0010: 0001b14f
+ // note: the request data seems to share its format with rescueEntry
+
+ response.Write(new byte[] {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0xa9, 0x9f, 0x50, 0x07, 0xe3, 0x53, 0x95, 0xf5,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7a, 0x00, 0x00, 0xff, 0x34, 0xff, 0x39,
+ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
+ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
+ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
+ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x32, 0x64, 0x63, 0x66, 0x39, 0x61, 0x35, 0x35,
+ 0x66, 0x63, 0x38, 0x32, 0x32, 0x33, 0x61, 0x32,
+ 0x30, 0x30, 0x33, 0x63, 0x65, 0x39, 0x61, 0x39,
+ 0x36, 0x38, 0x38, 0x64, 0x32, 0x33, 0x32, 0x64,
+ 0x66, 0x65, 0x38, 0x33, 0x32, 0x38, 0x38, 0x64 },
+ 0, 184);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sample/pokedngnwii/web/rescue/rescueRegist.ashx b/Sample/pokedngnwii/web/rescue/rescueRegist.ashx
new file mode 100644
index 0000000..3d6c414
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueRegist.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueRegist.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueRegist" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueRegist.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueRegist.ashx.cs
new file mode 100644
index 0000000..b76bc94
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueRegist.ashx.cs
@@ -0,0 +1,45 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueRegist
+ ///
+ public class rescueRegist : GamestatsHandler
+ {
+ public rescueRegist() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ // replay response from Sending Friend Mission Request.pcapng
+ // request data:
+ // 0000: 8b9ca41cac000000 1ca49c8bce6a330a
+ // 0010: 24b4a64800000000 0000000000000000
+ // 0020: 0000000000000044 0000000100b3979b
+ // 0030: 0000000100000000 0000000000000000
+ // 0040: 0000000000000000 0000000000000000
+ // 0050: 0000000000000000 0000000000000000
+ // 0060: 0000000000000000 0000000000000000
+ // 0070: 0000000000000000 0000000000000000
+ // 0080: 0000000000000000 0000000000000000
+ // 0090: 0000000000000000 0000000000000000
+ // 00a0: 0000000000000000 0000000000000000
+ // 00b0: 00000000
+
+ response.Write(new byte[] {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xb1, 0x4e },
+ 0, 6);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sample/pokedngnwii/web/rescue/rescueThanks.ashx b/Sample/pokedngnwii/web/rescue/rescueThanks.ashx
new file mode 100644
index 0000000..abbe09c
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueThanks.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="rescueThanks.ashx.cs" Class="Sample.pokedngnwii.web.rescue.rescueThanks" %>
diff --git a/Sample/pokedngnwii/web/rescue/rescueThanks.ashx.cs b/Sample/pokedngnwii/web/rescue/rescueThanks.ashx.cs
new file mode 100644
index 0000000..20be9f7
--- /dev/null
+++ b/Sample/pokedngnwii/web/rescue/rescueThanks.ashx.cs
@@ -0,0 +1,40 @@
+using GamestatsBase;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+
+namespace Sample.pokedngnwii.web.rescue
+{
+ ///
+ /// Summary description for rescueThanks
+ ///
+ public class rescueThanks : GamestatsHandler
+ {
+ public rescueThanks() : base("zjzrhOVXZKLHNspYpGoR0001c7850000620b0000000820556356pokedngnwii",
+ GamestatsRequestVersions.Version2, GamestatsResponseVersions.Version2)
+ {
+
+ }
+
+ public override void ProcessGamestatsRequest(byte[] request, MemoryStream response, string url, int pid, HttpContext context, GamestatsSession session)
+ {
+ // replay response from Receiving a Random A-OK Mail And Sending a Random Thank You Mail.pcapng
+ // request data:
+ // 0000: 8b9ca41c7c000000 1ca49c8b00000000
+ // 0010: 0001b14b0007000a 306f306e3067306e
+ // 0020: 30673092306e306b 0000000000000000
+ // 0030: 0000000000000000 0000000030923092
+ // 0040: 3092309230923092 3092309230923092
+ // 0050: 3092309230923092 3092309230923092
+ // 0060: 3092309230923092 3092309230923092
+ // 0070: 3092309230923092 3092309230923092
+ // 0080: 30923092
+
+ response.Write(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 0, 6);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sample/pokedungeonds/web/common/setProfile.ashx.cs b/Sample/pokedungeonds/web/common/setProfile.ashx.cs
index ca3a70a..3bb32f3 100644
--- a/Sample/pokedungeonds/web/common/setProfile.ashx.cs
+++ b/Sample/pokedungeonds/web/common/setProfile.ashx.cs
@@ -25,4 +25,4 @@ namespace Sample.pokedungeonds.web.common
}
}
-}
\ No newline at end of file
+}