글
코드엔진 level13
코드엔진 level13
: http://codeengn.com/challenges/basic/13
정답은 무엇인가라는 문제인데, 프로그램을 일단 설치해서 돌려봐야겠다.
프로그램을 사용하면 비밀번호를 입력하라고 하는 건데, 비밀번호를 지금 알 수 없는 상태니깐 프로그램으로
만들어졌는지 먼저 확인을 해보자.
보면 C#으로 만들어진 프로그램이다. 이 프로그램으로 올리디버거로 열면 제대로 열리지 않는다.
그래서 프레임 워크에서 제작된 프로그램인 C#, 자바는 디컴파일러이 쉽게된다.
.net reflector와 dotPeek를 이용하면 디컴파일이 쉬운데, .net reflector은 유료이고, dotPeek는 무료다.
.net reflector(http://www.red-gate.com/products/dotnet-development/reflector/ 유료)
혹은
dotPeek(http://www.jetbrains.com/decompiler/ 무료)
출처: http://vlindersec.tistory.com/15 [DRACKER]
.net reflector(http://www.red-gate.com/products/dotnet-development/reflector/ 유료)
혹은
dotPeek(http://www.jetbrains.com/decompiler/ 무료)
출처: http://vlindersec.tistory.com/15 [DRACKER]
dotPeek을 이용해서 프로그램을 열고 난 후 main함수가 나오는 부분을 우측클릭해서 Expoer to Project로
프로젝트를 하나 생성해준다. 프로그램 코드를 보면 while문 안에 비교하는 비교문이 있다. 그래서
입력되는 값과 str 변수의 값과 비교를 해서 맞으면 while문을 빠져나오고, 밑에 "Well Done! You cracked it!"
라는 메시지를 뿌리면서 프로그램이 종료가 된다.
그러면 str 변수에 무엇이 들어가는 지 볼려면 출력하면 된다.
그러면 여기서 끝~!
'보안 > 리버싱' 카테고리의 다른 글
코드엔진 level15 (0) | 2017.09.08 |
---|---|
코드엔진 level14 (0) | 2017.09.07 |
코드엔진 level12 (0) | 2017.09.06 |
코드엔진 level11 (0) | 2017.09.06 |
코드엔진 level9 (0) | 2017.09.05 |