| View previous topic :: View next topic |
| Author |
Message |
Geri Moderator
Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Tue Sep 21, 2010 8:11 pm Post subject: Data structure values |
|
|
I know how to use the Dissector for data/structures, but I am also curious how is it guessing the value types. How does it know if a value is a pointer, float or 4 byte value for example. I know it is depending on the value itself I just don't know what is the rule to guess the value types. How can it identify a pointer in bunch of other data etc?
Anybody knows that? Maybe DB if You have some spare time for a few words?
_________________
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25806 Location: The netherlands
|
Posted: Tue Sep 21, 2010 8:38 pm Post subject: |
|
|
It's based on the address it's on and some other checks
it first checks if it's a string
if not, then if it's a float
it checks if it's a floating point in a human readable region
It first checks if the notation requires the Exponential character to be shown. If so, not a float
It then checks if the value is in the range of -100000 and 100000, if outside, not a float
same for double
If it's not a float or double it checks if it's a pointer:
If the value represents an address that is actually allocated at the time of the check, it's marked as a pointer
added in ce 6:
If it's not a pointer, float,double or string:
check if the 4 byte value is in a human readable region:
Less than 10000
If it is above 10000 it only marks it as a 4 byte if it's dividable by 100
If not, it marks it as a 1 byte value
Which causes the next one to be a 1 byte value as well
Then it checks if it's a word
if the value is bigger 255 and dividable by 10 then mark it as a word
else mark it as a byte
unit: byteinterpreter.pas
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping
Last edited by Dark Byte on Tue Sep 21, 2010 8:47 pm; edited 1 time in total |
|
| Back to top |
|
 |
Geri Moderator
Reputation: 111
Joined: 05 Feb 2010 Posts: 5636
|
Posted: Tue Sep 21, 2010 8:45 pm Post subject: |
|
|
I was curious about it this since I have first seen this amazing feature. I didn't even hope for a long explanation like this.
Thank You very much for Your time and answer.
This option is one of my favorites in CE.
_________________
|
|
| Back to top |
|
 |
|