Number
: Number element는 8, 16, 24, 32, 64 비트 길이의 binary number를 선언한다.
DataModel, Block, Choice의 child element가 될 수 있다.
Attributes
* name : number의 이름 - 필수
* size : 비트 크기의 사이즈 (1~64) - 필수
* value : default value
* valueType : value 표현 방식 (string, hex) - 선택
* token : 파싱 시에 element가 토큰으로 간주된다. (기본 값 : false)
* endian : Byte order 명시 (big, little, network) -- network는 big endian과 같다.
* signed : 부호가 signed인지 unsigned인지 명시 (기본 값 : true (signed) )
* constraint : 데이터 cracking 시 사용되는 python scripting expression
* mutable : 데이터 가변성 (기본 값 : true)
* minOccurs : 최소 발생 횟수
* maxOccurs : 최대 발생 횟수
Valid Child-Elements
* Anayzers
* Fixup
* Relation
* Hint
Examples
└simple example
<DataModel name="NumberExample1"> <Number name="Hi5" value="5" size="32"/> -이름, 넣고자 하는 값, 크기 지정 </DataModel>
└valueType & signed
<DataModel name="NumberExample4"> <Number name="Hi5" value="1000" valueType="string" size="16" signed="false" /> </DataModel>
valueType은 value attribute를 어떻게 해석할 지를 명시한다. string과 hex 중에 택일.
(default 값은 string)
unsigned로 담고자 한다면 기본적으로 true로 설정된 signed를 false로 변경.
└Endian
<DataModel name="NumberExample6"> <Number name="Hi5" value="AB CD" valueType="hex" size="16" signed="false" endian="big" /><Number name="Hi5" value="AB CD" valueType="hex" size="16" signed="false" endian="little" />
</DataModel>
order 방식 명시. (빅 엔디언, 리틀 엔디언 중에 택일)
결과 값
big endian : AB CD
little endian : CD AB
'취약점 분석 > PeachFuzzer' 카테고리의 다른 글
[참조]PeachFuzzer - String (0) | 2017.12.07 |
---|---|
[참조]PeachFuzzer - Padding (0) | 2017.12.07 |
[참조]PeachFuzzer - Flags (0) | 2017.12.07 |
[참조]PeachFuzzer - Flag (0) | 2017.12.06 |
[참조]PeachFuzzer - Choice (0) | 2017.12.06 |