일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Couldn't invoke the file
- xcz.kr
- wargame.kr
- 포렌식
- xcz.kr 문제풀이
- WarGame
- WTF_CODE
- 오토잇디컴파일
- 워게임풀이
- 시스템
- CodeEngn
- 1번문제
- BasicRCE
- CheatEngine Tutorial
- 6번문제
- 3번문제
- Web
- 치트엔진 튜토리얼 게임
- xcz.kr prob
- 리버싱
- 치트엔진 튜토리얼
- 치트엔진
- cheatengine
- 써니나타스
- Basic RCE
- suninatas
- reversing
- Couldn't in
- 워게임
- 8번문제
- Today
- Total
목록Basic RCE (9)
HackChang
Basic RCE L17 Key 값이 BEDA-2F56-BC4F4368-8A71-870B 일때 Name은 무엇인가 힌트 : Name은 한자리인데.. 알파벳일수도 있고 숫자일수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자) 실행을 하면 키젠프로그램이 나온다. 1을 입력하고 check it!을 누르면 위와같은 메세지가 키에 들어간다. 올리디버거를 통해 열어봤다. 스트링 검색을 통해 에러메세지와 성공메세지를 찾을 수 있었다. 위의 에러메세지로 들어가봤다. 글자수가 3글자미만일때 에러메세지가 출력되는 것을 볼 수 있다. 문제는 Name이 한글자라고 했으니 비교하는 부분을 한 글자로 바꿔준다. 1로 바꿔주고, 실패 문자열 아래에 BP를 걸고 실행시킨다. 1을 입력하고 Checkit!을 했을 때의 시리얼을..
Basic RCE L15 Name이 CodeEngn일때 Serial을 구하시오 압축을 풀고, 습관처럼 PEID에 올려봤다. 따로 패킹이 되어있지 않은 것을 볼 수 있었고, 올리디버거를 통해 열어봤다. 스트링을 검색하고 CRACKED라는 성공메세지로 들어가본다. 이 문제도 L14와 같이 EAX와 비교하여 같지않으면 0045854(Try Again !)으로 점프를 시킨다. 비교문에 BP를 걸고 실행해봤다. 레지스터를 보면 시리얼값으로 1이 들어간 것을 확인할 수 있었고, 48B844와 비교하므로, 아래 데이터창에 45B844를 검색해본다. DWORD PTR DS는 4바이트 값이기 때문에 60 61 00 00 인 것을 알 수 있었다. 여기서 주의할 점은 메모리 덤프 주소는 리틀 엔디언 방식으로 읽어야 한다는 ..
Basic RCE L14 Name이 CodeEngn 일때 Serial을 구하시오 (이 문제는 정답이 여러개 나올 수 있는 문제이며 5개의 숫자로 되어있는 정답을 찾아야함, bruteforce 필요) Ex) 11111 습관처럼 압축을 풀고, PEID에 올려봤다. UPX로 패킹이 된 것을 확인할 수 있었고, 툴을 통해 언패킹을 진행했다. 언패킹을 하고, 올리디버거로 열어봤다. 스트링을 검색하고, 성공메세지가 뜨는 주소로 이동한다. 성공메세지를 확인하기위해 문자를 비교하는 부분에 BP를 걸고 실행시켜본다. Name에 CodeEngn을 적고 Serial에 1을 적고 체크를 한다. EAX는 내가 입력한 값이고, ESI가 시리얼인 것을 알 수 있다. ESI를 10진수로 바꿔서 인증하면 된다.
OEP를 구한 후 '등록성공' 으로 가는 분기점의 OPCODE를 구하시오. 정답인증은 OEP + OPCODE EX) 00400000EB03 프로그램을 실행하면 이와같이 나온다. OEP를 구한다는 것은 패킹을 한다는 것으로 생각하면 될 것 같다. PEID를 통해 열어보았다. ASPack으로 패킹이 된 것을 볼 수 있다. ASPack의 경우 OEP를 알아내는 방법은 다음과 같다. 검색을 통해 POPAD를 검색하여 POPAD가 있는 부분을 찾아 BP를 걸고, F9를 누르게 되면 00445834라는 OEP를 찾을 수 있게 된다. RETN부분에 BP를 한번더 걸고 F9로 실행 후 F8을 눌러 OEP(00445834)에 도달한다. 이게 정말 OEP인가 하겠지만 Ctrl+A 를 통해 코드를 다시 읽고, 스트링을 검색..
Basic RCE L05 이 프로그램의 등록키는 무엇인가 프로그램안의 등록키를 알아내는 문제이다. 압축을 풀고 실행파일을 실행시켜본다. Register now !를 누르면 잘못된 시리얼이라고 나온다. 이제 올리디버거로 열어본다. 대책없이 올리디버거로 열어봤지만 검색을 통해 얻고자하는 결과가 나오지않았다. 패킹이 된 파일인 것 같아 PEID로 열어보았다. 역시나 UPX로 패킹이 된 파일이었고, 언패킹툴을 통해 언패킹을 진행하였다. 위와같은 옵션을 이용하여 언패킹을 진행한다. upx.exe를 cmd를 통해 실행해야만 한다. ex ) upx 파일명.exe -d 언패킹을 하고, PEID로 다시 열어보았다. 언패킹이 된 것을 볼 수 있었고, 다시 올리디버거로 열어보았다. 스트링 검색을 통해 시리얼 값을 확인할 수..
Basic RCE L04 이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가 압축파일을 다운로드 받는다. 암호는 항상 codeengn이다. 5번 문제부터는 암호가 바뀌지 않는 이상 적지 않겠다. 실행을 해보면 정상으로 나오는데 문제가 디버그 프로그램 탐지인 것으로 보아 디버그 툴을 키면 비정상으로 나올 것이라고 예상해볼 수 있다. 예상과 비슷하게 디버깅 당함이라는 문자를 출력하는 것을 볼 수 있다. 올리디버거를 통해 함수를 검색해본다. IsDebuggerPresent라는 함수가 디버그를 탐지하는 것으로 예상해볼 수 있었고, 구글을 통해 검색을 해보았다. 역시나 IsDebuggerPresent라는 함수는 디버깅하는지 확인해주는 함수였다.
Basic RCE L03 비주얼베이직에서 스트링 비교함수 이름은? 압축파일의 비밀번호는 codeengn이다. 프로그램을 IDA로 열어서 import하는 함수를 보게되면 __vbaStrCmp라는 비주얼베이직 문자열 비교함수를 찾을 수 있다. __를 제외한 나머지를 넣고 인증하면된다.
Basic RCE L02 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오 해당 문제는 파일을 다운로드 받아서 압축을 풀어야한다. 압축파일의 비밀번호는 codeengn 이다. 그러나 실행하게되면 위와 같은 에러가 발생하는 것을 볼 수 있다. 동적 분석이 불가능하여 정적분석을 위해 HxD로 열어보았다. 코드를 보면서 내리다보면 패스워드 인증 실패(Nope, try again!)과 패스워드 인증 성공(Yeah, you did it!), 프로그램 제목?(Crackme#1)이 보이고, JK3FJZh가 키값인 것을 예측하고 인증해보았다.