본문 바로가기

해킹/리버스 엔지니어링

코드엔진 basic RCE L10 풀이 (ASPack 언패킹)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

드디어 반을 끝냈네요! 속도는 굼벵이보다 느린 것같지만 이해해 주시면 감사하겠습니다.


문제입니다.





B1359C15.exe





ASPack 으로 패킹되었다고 알려주네요. 그렇다면 언패킹하는 방법을 알아야되는데 방법은 의외로 간단합니다.




올리로 열어준 뒤 Ctrl + F 를 눌러 RETN 0c 를 검색해줍시다.




RETN 0c가 검색되면 그 2줄 아래있는 RETN에 BP를 걸고 실행시켜 이동하면 새로운 코드가 보입니다.





하지만 여기서 끝난 것이 아니라 한 가지 작업이 더 필요합니다. 


작업이래봤자 거창한건 아니고 Ctrl + A 를 눌러 Analyse code를 실행시켜주면 진정한 본래 코드가 나타나게됩니다.






조금 달라졌다는걸 느끼시나요?  이상태를 ollydump를 사용해 덤프하고 loadPE를 사용하면 ASPack 언패킹은 완료가 됩니다.



그럼 문제로 돌아가봅시다.  OEP + 등록성공으로 가는 분기점의 OPCODE 군요. 물론 OEP는 00445834 이고 문제는 등록성공으로 가는 분기점이 되겠네요.




문자열을 확인해보면 클릭해주고 싶은 욕망이 드는 well done! 이라는 문자열이 있네요! 바로 클릭해 가장 가까이 있는 점프문을 찾아주면 그게 바로 분기점이 됩니다.



가장 가까이 있는 점프문이 보이나요? OPCODE가 7555이니 답은 나왔죠?



미숙한 글 읽어주셔서 감사하고 지적할 부분이 보이면 거침없이 지적해주세요.