Avatar billede Droa Seniormester
03. februar 2015 - 10:54 Der er 4 kommentarer og
1 løsning

Konventering fra bytes til int strings bytes m.m

Hej eksperter.

Jeg sidder og skal gætte en bytestream, i hvad den indeholder af diverse ting og sager.

Lige pt har jeg udviklet mit eget lille program jeg kalder byte explorer, som jeg kan paste et byte array ind i...

eks.


0 1 234 30 0 0 0 3 0 0 0 160 3 69 247 44 255 0 0 0 0 0 0 0 0 0 0 0 1 7 12 0 0 0 0 0 0 17 0 0 0 17 0 0 12 81 0 0 0 0 0 100 100 100 100 4 0 0 0 100 100 101 4 16 0 54 0 88 0 52 0 88 0 55 0 88 0 52 0 49 0 100 100 100 100 4 0 0 153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 231 46 6 0 100 0 97 0 110 5 32 9 14 0 0 17 2 1 0 32 209 24 227 142 241 80 74 231 7 231 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 230 23 4 100 0 100 100 0 48 0 52 0 52 0 57 0 50 0 66 0 66 0 88 0 88


nu kan jeg sidde og selecte hver enkelte sammenhængene byte, og fortælle mit program at de hænger sammen som en, String (ASCII, UTF-8, UTF-16), int, uint, byte, ubyte, m.m


desværre så lige med min pakke som jeg har pasted i eksemplet (pakke-type 160), har jeg ikke kunne læse, da den har alt for mange blandede typer, og sidder stadig på 2. måned og prøver at finde et mønster i den.


jeg kan se der er nogen strings, og integer, samt at hoved delen er følgene.

UINT 0 - 3 (Pakke nummer)
UINT 4 - 7 (ingen ide)
UINT 8 - 11 (Pakke Type)
UINT 12 - 15 (Server Uptime)
UBYTE 16 (ingen ide)

Jeg har lidt over 100.000 af denne pakke, så tænkte om der var et program der ude, der kunne sammenligne pakker, og give et bud på hvordan den tror pakken er opbygget?

Jeg har ledt efter en manual omkring serveren jeg prøver og modtage pakker fra (IP Office v9.1, Logger), en virker ikke til der er nogen derude.
Avatar billede arne_v Ekspert
04. februar 2015 - 02:45 #1
Jeg tror altsaa at der er for mange valide fortolkninger af et byte array til at det kan analyseres automatisk udenfor kontekst.
Avatar billede Droa Seniormester
04. februar 2015 - 03:22 #2
Så der findes ingen gode værktøjer derude til og arbejde med byte arrays?

mit eget program ser sådan her ud, men mangler utroligt mange funktioner, til og være ordenligt brugbart

http://i.imgur.com/JxiK8Hd.png
Avatar billede Droa Seniormester
28. juni 2015 - 19:05 #3
jeg valgte i sidste ende og bruge mit eget tool, som jeg gav en masse algortimer til og tolke mine bytes.

kan se det ikke er den mest lette nød og knække, men har været igang med og udvikle mit redskab til og kunne analyzere mange af den samme type datapakker af gangen, og give hver pakke et "gæt" på dens konstruktion, hvor den så til sidst vil ligge pakkerne med samme gættet konstruktion sammen i gupper, og begynde og krys-teste konstruktionerne på de andre grupper, til den til sidst har en konstruktion der virker på alle af de samme pakketyper.

dette virker dog kun så længe man er sikker på alle pakker bruger samme konstruktion til og begynde med, men ikke kan se den med sin menneskehjerne :)
Avatar billede Droa Seniormester
28. juni 2015 - 19:16 #4
int, double, short og long bliver gættet ved hvordan bytes er sat

f.eks 0 0 24 98 0 0 76 1 har større chance for at være 2 int end 1 long.

0 0 12 41 2 7 89 12 har større chance for at være en long end 2 int.

så efter hvordan grupperingen bliver, vil algoritmen til sidst have alle pakker i een gruppe, efter hvad for en gruppe der starter med og have flest.

f.eks hvis 910 pakker er blevet testet til og vær 2 int og 90 er blevet testet til og være long, vil algortimen betrakte pakken til og være 2 int.
Avatar billede Droa Seniormester
28. juni 2015 - 19:18 #5
det samme sker for bool, siden en bool normalt bruger een byte, hvor 255 er sand og 0 er falsk, kan den hurtige gættes fra og være en byte værdi, hvis flere pakker kun bruger min/max, istedet for midt i mellem
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester