목록#Reversing/CodeEngine (11)
YeoPEVA
코드엔진 11번 공략입니다만.. Stolenbyte를 이용한 9번 문제와 그냥 똑같습니다.다른 점이라고 한다면, 정답 인증이 OEP + Stolenbyte라는 부분이죠. 그래서, 공략을 진행하고자 한다면.. 00401000 + 6A0068002040006812204000 이 정답입니다. [Clear!]
StolenByte를 구하는 문제였습니다 :) 바로 문제 풀러 가보겠습니다 ^^ 이제 예전처럼 조금 재밌게 해볼께요.[차피 총 정리 보고서로 해서 따로 하나 더 만들꺼거든요.. - 코엔 공략 다 모아서..] PS) 이래서 새벽에 공략 쓰면 안된다니까.. UPX 패킹이 걸려 있었습니다. 바로 무식하게 풀어버리ㅁ.. 네. 깨져요 [????????] ??????????????????????????왜 이렇게 되냐고요? 고오건 바로 풀어보면서 알아봅시다 ^^ 그래서 일단 무작정 올리디버거로 UPX 걸려있는 상태의 바이너리를 오-픈 했습니다 ^^UPX 특징인 POPAD, PUSHAD를 찾을 수 있었습니다. 우선 PUSHAD 측으로 가, OEP로 이동하니.. [잉.. 뭐야.. 뭔가 없는데..?] 응..? 뭔가 없는데..
코드엔진 basic 8번 공략입니다.OEP를 구하는 간단한 문제입니다. 언패킹만 잘 진행된다면.. 쉽게 풀릴 것 같습니다. 실행시켜보니, 계산기인 것 같네요.. 분석의 필요성은 느끼지 못했습니다. 패킹 여부 확인 결과 UPX라고 하여, 관련 툴로 바로 언패킹 진행하였습니다. 언패킹 진행 뒤, OEP 발견, 공략 성공입니다.
코드엔진 basic 7번 문제 공략입니다. 컴퓨터 C 드라이브의 이름이 코드엔진 일 경우 시리얼이 생성될때 코드엔진은 어떤 것으로 변경되는가... 우선 분석 진행해보겠습니다. 먼저, 프로그램 실행시 나오는 창입니다. 시리얼이 맞지 않을 경우 시리얼에 아무것도 적히지 않을 경우의 두 경우를 테스트해보았습니다. 그 결과, 시리얼이 맞을 경우, 정답 창을 띄을 것이며, 틀리거나 빈 경우 위와 같은 에러창을 뿜어낼 것이라 생각하고 진행하게 되었습니다. 언패킹을 할 필요가 있나 체크해본 결과, 언패킹 할 필요는 없었습니다. 진행 하던 도중, 하드 드라이브의 정보를 가져오는 것이 보였습니다. GetVolumeInformation 해당 함수를 통해, C 하드 드라이브의 이름을 가져와, 4562-ABEX의 앞에 가져다..
코드엔진 basic 6번 문제 공략입니다. 언패킹 이후, 시리얼을 찾는 문제였습니다.정답 인증은 OEP + Serial 이라고 하네요. 바로 진행해보겠습니다. 우선 입력 창에 아무 구문이나 입력해 보았습니다. 어이쿠.. 틀린 경우, 오류 창을 뿜어내면서 거절하네요.그렇다면 시리얼 비교를 통해 성공 / 실패 창을 띄워주는 것이라 보입니다. 확인하니, 전 문제와 같이 UPX 패킹이 되어 있었습니다 :( 간단히 툴로 언패킹 진행하고, [원본 Entrypoint] / OEP 확인하였습니다. 00401360 이군요. 그 뒤 텍스트 검색을 통해 성공 구문 및 시리얼로 예상되는 문자열을 발견했고, 비교 구문을 확인하니,AD46DFS547과 일치한다면 성공 메세지 창을 띄워주었습니다. 코드엔진 6번 문제 끝났네요. O..