Reversing/crackme

CodeEngn Basic RCE 12 문제 풀이

string_ 2022. 5. 10. 14:01

디버거 : x64dbg

분석환경 : Window 10

 

문제 내용
키젠 프로그렘

해당 프로그램을 실행해봤더니 패스워드를 입력하고 체크후 일치하다면 성공 메세지를 받는 프로그램 같습니다.

 

패킹 여부

pe툴로 열어보니 패킹은 안되있는것 같네요.

 

문자열 참조

해당 프로그램을 디버거로 붙여서 텍스트 문자열을 뽑아줬습니다.

성공문으로 추측되는 문자열이 있는 것 같습니다. 해당 주소로 가보면

 

분기를 진행하는 코드

바로 위에 eax값이 7A2896BF 인지 확인후 성공 메세지가 출력되는지 분기가 갈리는 코드가 있습니다.

eax에 어떤 데이터가 들어가는지 BreakPoint(중단점)을 걸고 확인하면

 

1234를 입력

패스워드 키 1234로 입력해보았습니다. 4D2로 16진수로 내가 입력한 패스워드가 eax에 담기는걸 확인했습니다.

즉 내가 입력한 키와 성공 키 열을 비교한다는 것을 알 수 있고

해당 프로그램의 key 값은 7A2896BF 가 된다는 것을 확인 할 수 있었습니다.

 

7A2896BF를 10진수로 변환하면 2049480383 이 됩니다.

 

성공 메세지 출력

​key 값을 찾았으니 성공 문자열을 수정하기 위해 HXD로 열어줍시다.

 

Hxd로 열고 성공 문자열을 찾아보도록 하겠습니다.

 

성공 문자열을 찾았습니다. 해당 출력문을 수정해서 key값이 메세지박스 텍스트로 뜨도록 hex value를 수정해줍니다.

 

텍스트열을 수정해서 패스워드가 출력되도록 변조하였습니다.

 

성공 메세지 출력

'Reversing > crackme' 카테고리의 다른 글

DreamHack - rev-basic-3 풀이  (1) 2022.09.29
CodeEngn Basic RCE 11 문제 풀이  (0) 2022.05.08
CodeEngn Basic RCE 10 문제 풀이  (0) 2022.05.08
CodeEngn Basic RCE 09 문제 풀이  (0) 2022.05.08
CodeEngn Basic RCE 08 문제 풀이  (0) 2022.05.08