upx

    [CodeEngn]Basic RCE_Level 07 문제풀이

    [CodeEngn]Basic RCE_Level 07 문제풀이

    Level 06에 이어서 Level 07을 풀어보겠습니다. 실행해 보니 위와 같은 메시지가 출력됩니다. C드라이브의 이름이 "CodeEngn"일 경우 시리얼이 생성된 다는 것을 보니.. 프로그램 내부에서 C드라이브의 이름 값을 가져오는 함수가 있을 것 같네요. 그리고 Serial을 넣는 프로그램이지만, 문제 자체에서 CodeEngn이 어떤것으로 변경되는지 찾는 문제 이기에 Serial값을 찾는 것 보다는, CodeEngn이 어떻게 변경되는지 초점을 두어 분석하면 될 것 같습니다. 올리디버거에서 코드부분에 우클릭하여 "All intermodular calls"를 클릭하면 프로그램에서 불러오는 함수들의 목록을 볼 수 있습니다. 예상 했던 것과 같이, 드라이브의 정보를 받아오는 함수가 존재합니다. 해당 부분에..

    [CodeEngn]Basic RCE_Level 06 문제풀이

    [CodeEngn]Basic RCE_Level 06 문제풀이

    Level 05에 이어서 06도 풀어봅시당. 문제를 보니 Unpack를 해서 OEP주소와 Serial 값을 알아내면 되는 문제입니다. 한번 실행해 봐야 되겠죠? 위와 같이 잘못 된 Serial 값을 넣으면 "Wrong serial!!!"이라는 메시지가 출력됩니다. 문제에서 Unpack을 하라고 했으니, 어떤 압축이 되어 있는지 PEiD로 확인해 봤습니다. 역시나 UPX로 실행 압축 되어 있음을 확인 했습니다.UPX 압축해제 하는 방법은 Level 05과정을 참고(아래링크) 하시면 됩니다. 2018/04/10 - [Study :)/WarGame] - [CodEngn]Basic RCE_Level 05 문제풀이 압축 해제 후, 보여지는 처음 주소가 OEP 주소가 됩니다. 이제 Serial값만 찾으면 됩니다. ..

    [CodeEngn]Basic RCE_Level 05 문제풀이

    [CodeEngn]Basic RCE_Level 05 문제풀이

    Level 05를 풀어보자. 단순히 Serial Key를 찾는 문제인것 같다. 프로그램을 실행시켜보자. 입력창이 2개가 있다. 추측건데 윗부분은 User Name 부분이고, 아랫부분은 Serial 부분인것 같다. 'Register now !' 키를 눌러보면, 다음과 같은 메시지창이 뜬다. 올리디버거로 실행하여 보자. compressed 를 감지했다는 메시지가 뜬다. 즉, 실행파일압축되어 있다. PEiD와 PEview로 확인해보니 UPX로 실행압축 되어 있음을 확인 할 수 있다. 올리디버거에서 UPX압축 해제할 수도 있지만, UPX unpack 프로그램을 사용하면 쉽게 압축해제 가능하다. 해당 파일은 upx 실행 파일이 있는 곳으로 옮기고 다음 명령어를 입력하자. 05.exe 파일을 upx 압축해제하여 0..