aboutsummaryrefslogtreecommitdiff
path: root/Extras/Invoke-NBNSC2.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'Extras/Invoke-NBNSC2.ps1')
-rw-r--r--Extras/Invoke-NBNSC2.ps114
1 files changed, 5 insertions, 9 deletions
diff --git a/Extras/Invoke-NBNSC2.ps1 b/Extras/Invoke-NBNSC2.ps1
index f04d7ef..41d2e64 100644
--- a/Extras/Invoke-NBNSC2.ps1
+++ b/Extras/Invoke-NBNSC2.ps1
@@ -93,15 +93,11 @@ while($running)
if($NBNS_request_data)
{
- $NBNS_query_string_encoded = $([Text.Encoding]::UTF8.GetString($NBNS_request_data))
- $NBNS_query_string_encoded = $NBNS_query_string_encoded.SubString(13,($NBNS_query_string_encoded.Length - 16))
- $NBNS_query_string_encoded = $NBNS_query_string_encoded -replace "00",""
-
- if($NBNS_query_string_encoded -like '*CA*')
- {
- $NBNS_query_string_encoded = $NBNS_query_string_encoded.Substring(0,$NBNS_query_string_encoded.IndexOf("CA"))
- }
-
+ $NBNS_query = [System.BitConverter]::ToString($NBNS_request_data[13..($NBNS_request_data.Length - 4)])
+ $NBNS_query = $NBNS_query -replace "-00",""
+ $NBNS_query = $NBNS_query.Split("-") | ForEach-Object{[Char][System.Convert]::ToInt16($_,16)}
+ $NBNS_query_string_encoded = New-Object System.String ($NBNS_query,0,$NBNS_query.Length)
+ $NBNS_query_string_encoded = $NBNS_query_string_encoded.Substring(0,$NBNS_query_string_encoded.IndexOf("CA"))
$NBNS_query_string_subtracted = ""
$NBNS_query_string = ""
$n = 0