codeengn basic 12번 문제다.

키 값을 구하고 MessagBox 출력 부분을 찾아서 HexEdit로 수정하면 될 것 같다.

파일을 다운받고 실행해봤다. 체크를 눌러도 별다른 반응이 없고 about 누르면 그냥 무슨 정보 같은게

뜬다.

파일 타입을 확인해보니 패킹이 되어있지는 않다.

코드는 간단하다. 분기문 전에 CMP문에서 값이 어떻게 비교되는지 보기위해 BP를 걸고 돌려봤다.

처음에는 ASCII코드로 나와있는 저 값이 키 값인줄 알고 뭔가하고 보다 유심히 보니 키 값은 아니었고

EAX값을 알아내는게 중요했는데 저 PUSH 3번 들어간 부분에서 어떤 알고리즘 형식으로 EAX값이 계

속 변하고 있었다. 그래서 이 알고리즘을 해석해보려고 안간힘을 썼으나 잘 모르겠다..ㅡㅡ 근데 뭐지이

거 알고리즘부분 다 지나고나면 값이 원래대로 돌아온다..?응? 뭐한거지 쓸데없이 삽질한 기분이다.휴...

하 .. 뭔가이상하다했다..

그럼 EAX, 7A2896BF비교가 핵심이니 이를 활용하면 될 것 같다. 근데 10진수로 준 값이 16진수인 7A2896BF랑 비교되므로 7A2896BF값을 10진수로 바꾼 후 이 값을 입력해주면 키값은 구할수가 있다.

흠 쉽다.. 그럼이제 헥사에디터로켜서 저부분을 키값으로 바꾸기만 하면 될 것 같다.


다음과 같이 바꿔주면 된다.

이제 정답입력하면 되는데 여기서 필요한 부분은 다 구했는데  null 처리하는 부분이랑 주소 범위 적는

방식으로 답 넣으라고해서 ㅡㅡ20분인가 헤맴....아나.. 어차피 필요한 거 다구했는데 정답 제출하는건

좀 심플하게좀 내주지 휴.. 암튼 역시나 간단한 개념 다루는 문제였다.


'Wargame > CodeEngn' 카테고리의 다른 글

code engn basic 14번  (0) 2018.02.04
code engn basic 13번  (0) 2018.02.04
code engn basic 11번  (0) 2018.01.28
code engn basic 10번  (0) 2018.01.28
code engn basic 9번  (0) 2018.01.28
블로그 이미지

JeonYoungSin

메모 기록용 공간

,