kaka09
[사진]1-1 이번 문제는 특정 key값을 구한 다음 성공메세지를 키값으로 변경시킬수 있는지 물어보는 문제다. 즉 키값과 성공메세지 부분을 찾아야 한다. 올리 디버거로 해당 문제를 디버깅 해보자 [사진]1-2 올리 디버거로 살펴본 결과 하단 부분에 "In the Bin" "Congraturation~" 문자열을 볼 수 있다. 키값만 찾으면 해당 문자열을 덮어 씌우면 된다. 문제는 키값인데 키값은 생각보다 어렵지 않게 찾을 수 있다. 바로 CMP EAX, 7A2896BF 구문인데 비교문이 일치하면 밑에 성공메세지를 출력하는 영역으로 분기한다. [사진]1-3 7A2896BF를 10진수로 바꾸면 2049480383이다. 10진수로 변환한 값을 넣어야 제대로 비교가 되고 참고로 해당 문제에서는 숫자 이외의 값은..
[사진]1-1 이번 문제도 OEP를 언급하는것으로 보아 패킹된 프로그램임을 알 수 있다. 왠지 앞으로는 계속 패킹된 문제들만 제공할듯?? 아무튼 이번 문제에서는 예전에 풀어봤던 문제인 StolenByte를 찾는 문제이다. 먼저 PEID를 사용하여 어떤 패킹 알고리즘을 사용하였는지 확인해 보자 [사진]1-2 PEID로 확인결과 UPX로 퍠킹이 되었음을 확인할 수 있다. 이번엔 따로 언패킹을 시도하지 않고 바로 올리 디버거를 이용해 풀이를 시도해보았다. [사진]1-3 9번 문제와 똑같은 느낌이 난다.. 참조하는 문자열도 말이고.. 혹시나 싶어서 한번 실행을 시켜 보았다. [사진]1-4 9번문제와 완전 똑같은 문제다.. StolenByte 찾는 문제도 똑같고 단순히 OEP만 추가 되었는데.. 조금 풀어보다 왜..
[사진]1-1 OEP를 언급하는것을 보아 해당 문제또한 패킹이 되어 있는 문제인것 같다. 이전 문제들과 똑같이 upx.exe를 이용하여 언팩을 시도하였으나.. [사진]1-2 upx로 패킹된 프로그램이 아니라고 한다.. 그래서 PEID 라는 툴을 사용하여 해당 문제가 어떠한 알고리즘으로 패킹 되었는지 확인하였다. [사진]1-3 PEID로 확인결과 ASPack 이라는 알고리즘으로 패킹이 된 것을 확인할 수 있다. 나중에 따로 upx나 ASPack의 차이점 그리고 패킹 과정에 대해서도 포스팅을 다뤄야 겠다. 지금은 문제풀이에 집중 하자.. [사진]1-4 직접 올리 디버거로 디버깅 해본 결과 UPX 알고리즘 처럼 ASPack도 PUSHAD->POPAD으로 거치는 과정은 비슷했다. 다만 해당 해당 문제에서는 JM..