728x90
https://pendine.tistory.com/43?category=967064
윗글도 봐주세여 ↑
-----------------------------------------------
https://pendine.tistory.com/17
위글을 보완하기 위해 작성함
https://github.com/pendine/ASN.1PacketDataView
깃허브 주소
byteArray length : 96
30 5E 80 01 01 81 55 30 53 80 00 81 01 01 82 01 00 A3 00 A4 47 A2 45 80 0C 54 45 53 54 5F 43 4C 49 45 4E 54 00 81 0C 54 45 53 54 5F 53 45 52 56 45 52 00 82 09 74 65 73 74 5F 75 73 65 72 83 09 74 65 73 74 5F 70 61 73 73 A4 04 06 02 51 01 85 01 28 86 01 0A 87 01 01 88 02 10 00 82 02 8E 80
----------------------------------------------------
grade : 0 TAG : 30 Length : 5E(94) Value : 800101815530538000810101820100A300A447A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A8701018802100082028E80
grade : 1 TAG : 80 Length : 01(1) Value : 01
grade : 1 TAG : 81 Length : 55(85) Value : 30538000810101820100A300A447A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
grade : 2 TAG : 30 Length : 53(83) Value : 8000810101820100A300A447A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
grade : 3 TAG : 80 Length : 00(0) Value : null
grade : 3 TAG : 81 Length : 01(1) Value : 01
grade : 3 TAG : 82 Length : 01(1) Value : 00
grade : 3 TAG : A3 Length : 00(0) Value : null
grade : 3 TAG : A4 Length : 47(71) Value : A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
grade : 4 TAG : A2 Length : 45(69) Value : 800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
grade : 5 TAG : 80 Length : 0C(12) Value : 544553545F434C49454E5400
grade : 5 TAG : 81 Length : 0C(12) Value : 544553545F53455256455200
grade : 5 TAG : 82 Length : 09(9) Value : 746573745F75736572
grade : 5 TAG : 83 Length : 09(9) Value : 746573745F70617373
grade : 1 TAG : 82 Length : 02(2) Value : 8E80
끝
30 5E
800101815530538000810101820100A300A447A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A8701018802100082028E80
80 01
01
81 55
30538000810101820100A300A447A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
30 53
8000810101820100A300A447A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
80 00
81 01
01
82 01
00
A3 00
A4 47
A245800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
A2 45
800C544553545F434C49454E5400810C544553545F534552564552008209746573745F757365728309746573745F70617373A4040602510185012886010A87010188021000
80 0C
544553545F434C49454E5400
81 0C
544553545F53455256455200
82 09
746573745F75736572
83 09
746573745F70617373
82 02
8E80
소스는 일단 너무 허접하다.
대충 넘어가고 사용하는 방법.
메인클래스 ASN_VIEW_Main 에서
헥스스트링일 경우 -----------
헥스스트링 을 String 객체에 삽입하고
공백 삭제 후, 문자열 길이가 2로 나누어서 나머지가 있는지 확인 (문자열 무결성 확인)
바이트 배열일경우 ----------
치환이나 무결성 확인할 필요 없음.
TLV2 객체를 생성하여,
확인할 데이터인 헥스스트링 을 바이트배열로 치환하거나 해당 바이트 배열을 인자값으로 넣어준다.
TLV2에서 요구하는 인자값은 바이트배열이다.
TLV2 ( 바이트배열, 0, 바이트배열의길이, 0 ) 으로 초기화 하여 가시화를 하면
본문 최 상단의 형태로 출력된다.
//객체 생성. ( 바이트배열, 0, 바이트배열의길이, 0 )
TLV2 tlv2 = new TLV2( byteArray , 0 , byteArray.length , 0);
//패킷 정리
tlv2.doIt();
//가시화
System.out.println( tlv2.getString() );
다만 본 소스코드에서 TAG정보가 부족하여
구조체 판단시
구조체의 태그가 30, 31, A2, A4 가 아닌경우
구조체로 판단하지 못하므로 해당 태그값 변경 혹은 추가가 필요함.
728x90
'Programming > ASN.1' 카테고리의 다른 글
[ASN.1] 메시지 디코딩오류 (0) | 2022.09.21 |
---|---|
ASN 패킷 BER 디코딩 뷰어 개편2 (0) | 2021.12.16 |
ASN.1 정리 ㄱㄱ (2) | 2021.09.30 |
DSRC 분석중 (0) | 2021.06.30 |
ASN.1 BER 허겁지겁 만든 디코딩 뷰어 (1) | 2021.05.25 |
댓글