Hi are there any tools to do this conversion? How do i do it by hand?
Hi,
I don't know whether there are any tools out there which will do the conversion for you, but I'd be surprised if there weren't any available.
As for performing the conversion by hand, it is a reasonably straight-forward process to code. Essentially you need to firstly read the data in raw byte format, then loop as follows
loop over number of bytes in raw data;
if the current loop counter is an integer multiple of 7
the next character can be determined by masking the current
raw byte with 0x7F;
increment the output index;
else
get the least significant bits for the next character by
right-shifting the previous raw byte by
8 - (current loop counter % 7);
get the most significant bits for the next character by
masking the current raw byte with
(0x1 << (7 - current loop counter % 7)) - 1;
increment the output index;
if we have only extracted a single bit from the current raw
byte
the next character can be determined by right-shifting
the current raw byte by 1;
increment the output index;
endif
endif
endloop
Bear in mind that the output data array will be longer than the raw byte data, by a factor of 8/7 (this allows for the expansion from 7-bit ASCII to 8-bit ASCII).
Hope that helps,
philh
I am sure there are many tools.
However, I think anyone in forensics should be able to write a simple program to open a file, manipulate the contents and save the file.
What programming language you use is up to you.
Hi are there any tools to do this conversion? How do i do it by hand?
Where have you looked? I Googled this same question last week and found several online tools to do it.
I am sure there are many tools.
However, I think anyone in forensics should be able to write a simple program to open a file, manipulate the contents and save the file.
What programming language you use is up to you.
Converting from GSM7 is *not quite* that easy though, given you have to fiddle with bits. To paraphrase Boromir, one does not simply decode GSM7 by comparing hex values against the relevant table.
Edit; that last sentence was possibly those most nerdy thing I have ever written on FF. And that's saying something.
Further edit wait, I was assuming the OP was talking about extracting it from a PDU block - it is tricky. Not impossible - but tricky.
[quote="Chris_Ed
Converting from GSM7 is *not quite* that easy though, given you have to fiddle with bits. To paraphrase Boromir, one does not simply decode GSM7 by comparing hex values against the relevant table.
Further edit wait, I was assuming the OP was talking about extracting it from a PDU block - it is tricky. Not impossible - but tricky.
I does not look very difficult, just have to be aware of the escape characters sometimes being a pair of characters.
If you write your own code, you can define exactly where you extract data from.
Writing small programs is a very useful skill.
Give it a go, and get the satisfaction of solving a problem.
[quote="Chris_Ed
Converting from GSM7 is *not quite* that easy though, given you have to fiddle with bits. To paraphrase Boromir, one does not simply decode GSM7 by comparing hex values against the relevant table.Further edit wait, I was assuming the OP was talking about extracting it from a PDU block - it is tricky. Not impossible - but tricky.
I does not look very difficult, just have to be aware of the escape characters sometimes being a pair of characters.
If you write your own code, you can define exactly where you extract data from.
Writing small programs is a very useful skill.
Give it a go, and get the satisfaction of solving a problem.
I agree it certainly isn't a difficult problem to solve in code - pretty much any programming language you choose will give you access to bit-manipulation methods which make extracting the relevant values reasonably trivial. The pseudo-code should help along the way (it's taken from some code that I'd already written to perform the task), assuming that no pre-existing tools can be identified via the InterWeb.
Oh and yeah given that I originally came from a software development background, into digital forensics, I would definitely agree that being able to write small programs is a very useful skill to have D
Phil H
Are there no
Or