목록#Reversing (19)
YeoPEVA
코드엔진 basic 8번 공략입니다.OEP를 구하는 간단한 문제입니다. 언패킹만 잘 진행된다면.. 쉽게 풀릴 것 같습니다. 실행시켜보니, 계산기인 것 같네요.. 분석의 필요성은 느끼지 못했습니다. 패킹 여부 확인 결과 UPX라고 하여, 관련 툴로 바로 언패킹 진행하였습니다. 언패킹 진행 뒤, OEP 발견, 공략 성공입니다.
코드엔진 basic 7번 문제 공략입니다. 컴퓨터 C 드라이브의 이름이 코드엔진 일 경우 시리얼이 생성될때 코드엔진은 어떤 것으로 변경되는가... 우선 분석 진행해보겠습니다. 먼저, 프로그램 실행시 나오는 창입니다. 시리얼이 맞지 않을 경우 시리얼에 아무것도 적히지 않을 경우의 두 경우를 테스트해보았습니다. 그 결과, 시리얼이 맞을 경우, 정답 창을 띄을 것이며, 틀리거나 빈 경우 위와 같은 에러창을 뿜어낼 것이라 생각하고 진행하게 되었습니다. 언패킹을 할 필요가 있나 체크해본 결과, 언패킹 할 필요는 없었습니다. 진행 하던 도중, 하드 드라이브의 정보를 가져오는 것이 보였습니다. GetVolumeInformation 해당 함수를 통해, C 하드 드라이브의 이름을 가져와, 4562-ABEX의 앞에 가져다..
코드엔진 basic 6번 문제 공략입니다. 언패킹 이후, 시리얼을 찾는 문제였습니다.정답 인증은 OEP + Serial 이라고 하네요. 바로 진행해보겠습니다. 우선 입력 창에 아무 구문이나 입력해 보았습니다. 어이쿠.. 틀린 경우, 오류 창을 뿜어내면서 거절하네요.그렇다면 시리얼 비교를 통해 성공 / 실패 창을 띄워주는 것이라 보입니다. 확인하니, 전 문제와 같이 UPX 패킹이 되어 있었습니다 :( 간단히 툴로 언패킹 진행하고, [원본 Entrypoint] / OEP 확인하였습니다. 00401360 이군요. 그 뒤 텍스트 검색을 통해 성공 구문 및 시리얼로 예상되는 문자열을 발견했고, 비교 구문을 확인하니,AD46DFS547과 일치한다면 성공 메세지 창을 띄워주었습니다. 코드엔진 6번 문제 끝났네요. O..
코드엔진 basic 5번 문제 풀이입니다. 해당 프로그램의 등록 키를 알아내는 문제였습니다. 위 부분을 확인하면서,이름이 들어가는지 안 들어가는지 체크하는 부분 및 입력된 시리얼과 비교하는 구문이 있을 것이라 예상되었습니다. 또한, Stud_PE로 체크하니 UPX 패킹이 진행된 상태입니다. UPX 언패킹에는 다양한 방법이 존재하나,툴을 통해 언패킹 진행했습니다. 언 패킹 진행 후, 올리디버거로 분석 진행했으며,텍스트 검색 도중, "CrackMe cracked successfully" 라는 구문을 발견하여, 그 구문 근처로 이동하였습니다. 그러니 짜잔. 밑에 "GFK-754-IER-954"와 비교를 통해, 일치한다면 성공 구문을 볼 수 있었습니다. 코드엔진 basic 5번 END