본문 바로가기

WARGAME/codeengn

코드엔진 베이직 14

Korean 
Name이 CodeEngn 일때 Serial을 구하시오 
(이 문제는 정답이 여러개 나올 수 있는 문제이며 5개의 숫자로 되어있는 정답을 찾아야함, bruteforce 필요) 
Ex) 11111 




004012FB 주소의 lstrlenA 함수부터 보면 첫 번째 폼에 입력한 글자의 개수를 리턴한다. 

그 다음에 바로 나오는 반복문에서 글자의 개수만큼 루프를 도는데, 0040132E 주소에 BP를 걸고 ESI 값을 확인해보면 000129A1 이라는 값을 얻는다.

이 값은 나중에 두 번째 폼에 입력한 값을 가지고 연산한 결과와 비교하게 된다.


CodeEngn => 000129A1


바로 다음의 0040132F 주소에서는 두 번째 폼에 입력한 값을 스택에 넣고

그 다음 줄에서 해당 값에 대한 연산을 하게 되는데, 연산 내용을 대충 보면 한글자씩 진행되며 해당 값에 0x30을 빼고, 다시 곱하고 나누는 연산이 있다.


00401339 주소에 BP를 걸고 두번째 폼에 여러 값을 시험 하다보면 다음 숫자를 입력했을 때 000129A1 결과를 얻을 수 있다.



76193 => 000129A1






답 : 76193

'WARGAME > codeengn' 카테고리의 다른 글

코드엔진 베이직 16  (0) 2014.12.14
코드엔진 베이직 15  (0) 2014.12.14
코드엔진 베이직 13  (0) 2014.12.13
코드엔진 베이직 12  (0) 2014.12.13
코드엔진 베이직 11  (0) 2014.12.13