Reversing 문제 풀이/CodeEngn.com_Advance
codeengn-advance-L08 풀이
문제는 특정 시리얼 일 때, Name을 원하고 있다. Die로 열어본다. 특이 사항은 보이지 않는다. 프로그램을 실행시켜본다. 친절하게 Name과 Key를 알려주고 있고, 문제에서는 여기를 말하는 것 같다. 하지만 문제에서는 Name이 2글자라고 했으나, 2글자를 입력하면 Key에 특정 문자열이 들어가는 것을 보니 우회를 해주어야 할 거 같다. 디버거로 열어본다. 문자열 찾기로 비교하는 구문을 찾았다. 문자열의 길이가 3자리 보다 크지 않으면 특정 문자열을 출력했다. cmp eax, 3 -> cmp eax, 1로 바꾸어주고 패치하여 새로운 exe로 저장한다. 2자리 문자열 AB와 임의의 키 12345를 입력하고 디버깅을 시작해본다. 확인해보니, Name의 길이가 30이상 이라면 또 텍스트가 출력되는 구문..
2022. 5. 12. 22:00
최근댓글