본문 바로가기

취약점 분석/PeachFuzzer

[참조]PeachFuzzer - Number

반응형

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

Transformer

* 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를 어떻게 해석할 지를 명시한다. stringhex 중에 택일.

(default 값은 string)

unsigned로 담고자 한다면 기본적으로 true로 설정된 signedfalse로 변경.


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