Nmap Development mailing list archives
Re: [RFC] NSE pack/unpack library
From: "Philip Pickering" <pgpickering () gmail com>
Date: Fri, 20 Jun 2008 02:08:19 +0200
2008/6/20 Brandon Enright <bmenrigh () ucsd edu>:
bin.unpack(bindata, template) ... bindata is a string with the packed binary data ... template is, again, the format string --> returns the position where it stopped as first value and the unpacked data values as the following return values (the position can be used to subsequently fetch more data by using it as a third parameter)If I'm to understand this we'll have to unpack in a loop rather than something like: local a, b, c, d (a, b, c, d) bin.unpack("C C C C", somestring)
you can still do local a, b, c, d _, a, b, c, d = bin.unpack(somestring, "C C C C") but, for example, if your data begins with a short value for the length of a following string you can do pos, len = bin.unpack(somestring, "s") _, newstring = bin.unpack(somestring, "A" .. len, pos) Another thing I just realized is that bin.unpack's parameters are (data, format) whereas perl's are (format, data). I guess I should adapt to Perl's way of ordering it, because many people probably will be used to it (and I think it doesn't really make a difference, which way round it is). It seems more consistent, too, if the first parameter is the format string in both functions.
It sure would be nice to be able to get a list back rather than having to do it in a loop.
Unpacking into a table could be an additional feature.
I like all your ideas here and I think this will be very useful.
thanks, Philip _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- [RFC] NSE pack/unpack library Philip Pickering (Jun 19)
- Re: [RFC] NSE pack/unpack library Brandon Enright (Jun 19)
- Re: [RFC] NSE pack/unpack library Philip Pickering (Jun 19)
- Re: [RFC] NSE pack/unpack library Fyodor (Jun 19)
- Re: [RFC] NSE pack/unpack library Philip Pickering (Jun 20)
- Re: [RFC] NSE pack/unpack library David Fifield (Jun 20)
- Re: [RFC] NSE pack/unpack library Philip Pickering (Jun 20)
- Re: [RFC] NSE pack/unpack library Brandon Enright (Jun 19)