Reversing/Wargame

[XCZ.KR] PROB34(Reversing) - feat. C# 코딩

ch4njun 2019. 6. 28. 01:21
반응형

PEiD를 통해 확인해 봤더니 해당 exe파일은 C#으로 만들어졌다는 것을 확인할 수 있다.

 

그래서 C# 디컴파일 도구를 사용해 디컴파일 했다. (dnspy, DotPeek)

 

 

키자마자 버튼 이벤트에대해서 나와서 바로 분석했다.

같이 첨부되어있던 account.dat 파일을 읽어와서 해당 내용을 Split 해준다.

account.dat을 HxD를 사용해 내용을 확인해보자.

 

 

콜론(:) 을 구분자로 삼아 Split 하게 되면 strArray에는

strArray = { "guest", "7C685308952 ....", "01541" }

strArray = { "admin", "A0F60D70FA ....", "31337" }

이 차례로 들어가게 된다. 근데 밑에 if문을 보니 admin에대해 처리를 해줘야 할 것같다.

 

"admin" + [ 내 두번째 텍스트필드 ] + "31337" 을 아스키코드로 바꾼 후 그걸 md5 해시하고 뭐 이런저런 복잡한 과정을 거치지만 동일한 언어인 C#으로 그냥 같은 함수를 사용해 결과를 찾았다.

 

약간의 Brut Force를 통해 결과를 찾았다.

 

여기서 strb.ToString() == "A0F60D70 ...." 으로 바꿔도 동일하게 동작하는 것까지 기억하자.

반응형