티스토리 뷰

Challenges : Basic 15


Author : uBc - bRiANbuSY

Korean :
Name이 CodeEngn일때 Serial을 구하시오

English :
Find the Serial when the Name is CodeEngn 

1)  PEID로 현재 패킹 상태 확인

Borland Delphi 4.0 - 5.0 이렇게 패킹 된것을 확인할 수 있다.

별다른 패킹이 없는것을 확인하였으니


2) 이제 올리디버거로 확인해보자,

올리디버거로 확인하다보면,  search for 기능을 활용하여 사용된 함수와, String값을 확인하여 

메시지를 찾아보자, 성공하였을때,


3) 이렇게 성공하였을때 메시지 주변을 찾아보면, 분기문을 찾을 수 있는데, 이것이 큰 힌트가 된다. ID값은 CodeEngn 이고, password값은 그 분기문 부분을 찾아보면 찾아볼 수 있다. 

여기서, 입력창에 아이디와 비밀번호를 입력하다보면, 그 시리얼값이 무슨값으로 쓰여지는지 알수 있다. 분기문에 BP 를 걸어서, EAX 값과 CMP되는 값이 무슨값인지 유추할 수 있다

CMP EAX,D[0045B844] 이런식으로 비교문이 사용되고 있는데 ,현재 이 EAX값은 우리가 임의로 입력한 12345 의 값이 된다. 따라서, D[0045B844]의 주소를 찾게되면 그 비교되는 값을 찾을수 있다. 결과적으로 시리얼 값을 의미한다.



보통 HEX값으로 어셈블리어에서 처리하므로,계산기에서 DEC값을 찾아서 처리하면 된다.

생각보다 쉬운문제였으나, 삽질을 펐다.




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함