문제풀이/CodeEngn

[CodeEngn]Basic 13문제 풀이과정

ILV_쉱이 2021. 12. 31. 00:46
728x90
반응형

 


CodeEngn 사이트

https://ch.codeengn.com/

 

CodeEngn.com [코드엔진]

코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.

ch.codeengn.com

위 사이트에서 Basic 13문제입니다

다운로드 받으시고, 압축 푸시면 비밀번호입력이 나오게 됩니다. 비번은 'CodeEngn'입니다.

 


Basic 13번 문제

정답은 무엇인가? 입니다.

 


Basic 13번 문제풀이

문제풀이 시작하겠습니당!

B13문제는 x64dBg으로 실행해야 하기 때문에 x64dBg로 실행해요ㅠㅠㅠ 안그러면 실행 자체가 안됩니다


‘F9’으로 실행시키면 위와 같이 실행돼요
실제 정답과 사용자가 입력한 값을 비교하는 부분을 찾기위하여 아무 값이나 입력하면 아래 그림처럼 문자열이 나타나요



마우스 오른쪽마우스 > 다음을 찾기 > 모든 모듈 > 문자열 참조를 눌러 
위 그림에 있는 문자열 아무거나 찾아 가요 ,,,

하지만, 문자열 참조에서는 위에 있는 문자열을 찾지 못해여 
PEiD프로그램으로 b13을 실행해본 결과 C#으로 작성되었다는 것을 확인할 수 있어요!



JetBrains DotPeek을 실행하여 b13의 실행파일을 엽니당
<Root Namespace> -> <RijndaelSimpleTest>를 통하여 B13의 코드를 확인해요.
우클릭하여 Export to Project...를 하면 Visual Studio와 자동으로 연결이 돼여



Visual Studio에서 메인 함수 부분이 출력이 되는데, While 전에 ‘Consoel.Write(str);’을 작성한다. str은 B13의 Password를 저장한 변수 이름이예요
위치는 RijindaelSimpleTest이구요,, 처음에 당황해서 찾느라 좀 고생했어요,,,^^;



작성하고, 빌드 -> 디버거 시작하게 되면 콘솔 창이 뜨게 되는데, 그 콘솔창에 B13의 정답이 같이 출력되는 것을 볼 수 있어요



x64dbg에서 다시 실행시켜 ”Please enter the password :“부분에 ‘Leteminman’ 을 작성해여 대소문자구분하니까 잘 보고 작성부탁드려요!



따라서 B13의 password는 ‘Leteminman’ 입니다

728x90
반응형