April 13, 2022

Square CTF postfuscator write up

 

< getFlag #4, Own this NFT! (Link) >


▶ How to play
Download the provided file(Link).
제공되는 파일 다운로드.

The humans who designed C9 were afraid that the Charvises would disavow their pact.

인류는 차비스가 약속을 파기할 가능성에 대해 두려워했다.

The humans therefore decided to build an additional defense system, C9, using an ancient programming language. A programming language that Charvises didn’t even know is a programming language!

그래서 그들은 추가 방호 시스템인 C9을 구축하게 된다. 이때 고대의 프로그래밍 언어를 사용하였는데, 차비스는 그 내용이 프로그래밍 언어인지조차 인지하지 못하였다.

Can you figure out the correct input?
관련하여 올바른 입력값을 찾도록 한다.

 

여기서 말하는 고대 언어는 포스트스크립트이다. 쉘 스크립트 파일이 제공되지만 이는 포스트스크립트(PS) 파일을 추출하기 위한 용도이다. 포스트스크립트는 문서를 기술하기 위한 언어(PDL)이며 인터프리터가 존재하며 구글드라이브에서도 열람할 수 있다. PS 파일을 이해하고 요구사항을 준수하여 입력값을 구성하면 플래그를 획득할 수 있다.

The ancient language we are talking about here is PostScript. A shell script file is provided, but this is for extracting a PostScript(PS) file. PostScript is a language for describing documents(PDL), has an interpreter, and also can be viewed on Google Drive. If you understand the PS file and configure the input to comply with the requirements, you can get the flag.

 

 

Hint 1.

A proper debugger can help save time.

적절한 디버거는시간을 단축하는 데 도움이 된다.

https://github.com/luser-dr00g/debug.ps

 

Hint 2.

PostScript works on a stack basis. As soon as a string is entered, it is already put in the stack.

포스트 스크립트는 스택 기반으로 동작한다. 문자열을 입력하는 순간 스택에 들어간다.

 

Hint 3.

XOR operation is everything.

XOR 연산이 전부이다.

 

 

* Check the link below for full write-up details.   

* 전체 라잇업 내용은 아래 링크 확인.    

 

< FULL WRITE UP >