개인공부/Reverse Engineering

[코드엔진] Basic RCE 07 with ida

5ddish 2018. 8. 5. 16:53

7번 문제는 


컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 "어떤것"으로 변경되는가 


이거임 

먼저 이번에도 혹시 패킹이 되어있나 안되어 있나 확인을 해봄 


오 패킹 안되있음 그럼 바로 아이다에 ㄱ ㄱ 아이다에 던져보니 


이부분이랑 


이 부분을 봐야할것 같은 느낌이 옴  

그리고 드라이브의 이름을 건드리고 있으니까 드라이브 관련 API를  호출하는 부분을 탐색해봐야 겠단 마음이 들어서 드라이브 관련 API 검색을 을 해야 할 것 같다는 생각을 함



그래서 드라이브 볼륨 정보 받아오는 API 찾고 , 브포 걸고 진행 해보니까 아래와 같은 루틴을 발견함 



일단 첨에 보니까 4562-ABEX 가 Add + 1 씩 하면서 6784-ABEX로 변환되는걸 확인(앞의 4 자리만) 그리고 L2C-5781 뒤에 +1 씩 된 스트링 값을 붙임


 마지막으로 사용자 입력값으로 검증 함 


근데 문제가 '컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 "어떤것"으로 변경되는가' 였으니까 CodeEngn 을 대상으로 저 루틴을 수행하면 될 


것 같음