본문 바로가기

2. Reversing (리버싱)/1) Write UP

(51)
[2020.04.07] Reversing.kr | CSHOP 문제 http://reversing.kr의 CSHOP 문제를 풀어보도록 하자. 문제를 클릭하면 CSHOP.zip 파일이 다운받아진다. zip파일을 풀고 CSHOP.exe 파일을 실행시키면 다음과 같이 회색 화면이 뜬다. Exeinfo PE 툴을 사용하여 패킹 여부와 프로그램을 제작한 언어를 확인한다. c#으로 만들어진 .net 프로그램이다. 닷넷(.NET) 프로그램? 닷넷 프레임워크(.NET Framework)는 마이크로소프트사에서 제공하는 윈도우 프로그램 개발 및 실행환경입니다. 네트워크 작업, 인터페이스등의 많은 작업을 캡슐화하여 코딩의 효율성을 증대시켰습니다. .NET의 특징은 CLS(닷넷 프레임워크의 언어가 반드시 지켜야하는 언어 스펙)을 따르는 언어라면 어떠한 언어라도 닷넷 프레임워크에서 실행가능하며..
[2020.03.31] Reversing.kr | Easy crack 문제 http://reversing.kr의 첫 번째 문제인 Easy Crack을 풀어보도록 하자. 문제를 클릭하면 Easy_Crack.exe 파일이 다운받아진다. 해당 파일을 실행시키면 사용자가 입력할 수 있는 창이 뜬다. 임의의 값을 넣으면 Incorrect Password라는 창이 뜨면서 프로그램이 종료된다. 출제자가 정해놓은 패스워드를 리버싱으로 알아내고 그것을 입력하면 문제가 풀릴 것이다. 리버싱을 하려면 가장 먼저 패킹 여부와 어떤 언어로 프로그램이 제작되었는지 확인이 필요한다. Exeinfo PE 툴을 사용하여 이를 확인해본다. 이 프로그램은 C++로 제작되었으며 패킹이 되어있지 않음을 알 수 있다. 마우스를 우클릭 하여 [Search for] > [All referenced text strings..
[2020.04.07] Reversing.kr | Easy_Unpack | Reversing.kr Easy_Unpack 문제 압축을 해제하면 다음과 같은 txt파일이 존재한다. OEP 값을 찾으라는 문제다. * OEP 란? OEP(Original Point)는 실행 프로그램에서의 실제 시작점을 의미한다. 일반적인 프로그램은 실제 시작점이 프로그램 실행 시 시작점과 동일하지만 Packing이 되면 실제 OEP가 숨겨져 있게 된다. PEiD로 확인해본 결과 Packing 되어 있음을 확인했고 무엇으로 Packing되었는지는 알 수 없다. * Packing과 Unpacking? 1. Packing - 실행파일을 암호화하거나, 압축하여 소스코드를 볼 수 없도록 하는 것 - 압축을 하면 용량을 줄이고, 실행속도가 높아짐 - 사용자 측면에서도 유리하지만, 악성코드 유포시에도 유리하게 ..