Basic을 끝내고 advance로 들어오게되었습니다.
파일은 패킹이 되어있는것 같습니다.
디버거로 한번 열어보았습니다.
언패킹을 하여 본래코드로 들어왔습니다.
분석을 하다보니 안티디버깅 함수가 존재하길래
우회를 해주었습니다.
이제 밀리세컨드안에 프로그램을 끝내버리는 함수를 찾아야하는데 베이직에서 푼 문제와 같은 함수가 여기 존재합니다. 이 함수들 중 하나겠죠
찾았습니다. CMP명령어를 보시면 EAX값과 ESI값을 비교하여 EAX값이 커야 점프를 하게됩니다.
바로 이부분입니다.
점프를 하게되면 EAX값과 ESI값을 연산시켜주는데 연산 시켜준 후 CMP를 하여 EAX값과 EBX+4값을 비교시켜줍니다. 만약에 EAX값이 더 크다면 끝이나는것입니다.
그렇다면 끝이나려면 EAX값이 EBX+4 값 보다 커야지 끝나게됩니다. 고로 EBX+4값이 정답이 되겠습니다.
'Reversing > CodeEngn Advance' 카테고리의 다른 글
CodeEngn Advance 06 (0) | 2015.08.23 |
---|---|
CodeEngn Advance 05 (0) | 2015.08.20 |
CodeEngn Advance 04 (0) | 2015.08.20 |
CodeEngn Advance 03 (0) | 2015.08.15 |
CodeEngn Advance 02 (0) | 2015.08.15 |