본문 바로가기

[Riversing]/[코드엔진] BASIC

[코드엔진] basic2

코드엔진 사이트에 들어가 basic2 문제를 다운로드 받고 압축을 푼다(비밀번호 : codeengn)

 

xp 환경에서 파일을 실행해 봤더니 아래와 같은 에러가 뜬다.

주소로 보이는 0f505633c9 가 보인다. 일단 따로 적어 놓았다.

 

프로그램 실행이 안되니 odb를 이용해 정적분석을 해보자.

 

안된다.

 

PeID로 뜯어보자.

PE파일이 아니란다. 

그리고 패킹이되어있지 않다.

 

 

그럼 HxD 로 뜯어보자.

 

맨 위에 보이는 4D 5A( MZ ) 라는 코드는 PE파일인지 아닌지를 확인 할 때 사용하고, PE파일 처음부터 2바이트까지 (4D 5A) 로 시작하는 부분이 e_magic 이 차지하는 공간이다.

 

또 이 바이너리를 계속 확인하다보면 .data 섹션이 나오는데, 이 섹션은 그 속성이 읽고 쓸 수 있는 가장 일반적인 데이터 섹션이다.

또한 전역변수 또는 정적변수를 선언하게 되면 모두 .data 섹션에 위치하게 되어 확인 할 수 있다.

 

.data 섹션을 따라가다보면 아래와 같은 Raw Data를 확인가능하다.

raw data의 아스키 값에서 해당 파일의 패스워드 JK3FJZH 를 확인 할 수 있다.

 

# 해당 파일을 PE 구조에 맞게 수정해 일반적인 작동이 가능한 프로그램으로 만드는 방법은 나중에 해보고 올리겠슴ㄴ다

'[Riversing] > [코드엔진] BASIC' 카테고리의 다른 글

[코드엔진] basic6  (0) 2020.03.25
[코드엔진] basic5  (0) 2020.03.25
[코드엔진] basic4  (0) 2020.03.24
[코드엔진] basic3  (0) 2020.03.24
[코드엔진] Basic1  (0) 2020.03.13