| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 써니나타스
- cheatengine
- 워게임
- suninatas
- BasicRCE
- CheatEngine Tutorial
- WarGame
- Basic RCE
- 치트엔진
- WTF_CODE
- 1번문제
- 시스템
- Web
- reversing
- 치트엔진 튜토리얼 게임
- 리버싱
- xcz.kr prob
- 6번문제
- 오토잇디컴파일
- Couldn't invoke the file
- 8번문제
- 워게임풀이
- xcz.kr 문제풀이
- Couldn't in
- 포렌식
- CodeEngn
- wargame.kr
- 치트엔진 튜토리얼
- xcz.kr
- 3번문제
- Today
- Total
목록분류 전체보기 (108)
HackChang
Advance RCE L08 Key 값이 5D88-53B4-52A87D27-1D0D-5B09 일때 Name은 무엇인가 힌트 : Name은 두자리인데.. 알파벳일수도 있고 숫자일수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자) PEID로 먼저 열어보기로 했다. 델파이로 만들어진 프로그램인 것을 볼 수 있었고, 올리디버거로 열어봤다. 스트링검색부터 해보도록 하겠다. 저번 7번 문제가 상당히 골치아파서 역시 Advance 문제인가 했지만 성공메세지가 너무 쉽게 노출되는 것을 보고, 아직 쉬운 레벨인 것을 느꼈다.. 성공메세지와 실패메세지 위의 PUSH EBP에 BP를 걸고 실행했다. 폼에 키를 적고, 네임은 12으로 하여 체크를 했다. 위의 BP부분에서 걸렸고, 3글자 이상으로 입력하도록 된 것을 볼..
이 문제도 네임이 CodeEngn일 때 시리얼 값을 구하는 문제이다. PEID로 열어보도록 하겠다. C#으로 만들어진 프로그램인 것을 알 수 있었고, 올리디버거로 열어보도록 하겠다. 올리디버거로 열리지 않는 것을 볼 수 있다. C#으로 만든 프로그램이기 떄문에 Reflector로 열어봤다. 타고타고 들어가다 Form부분에 성공메세지나 실패메세지가 있을 것이라고 생각되어 찾아보았다. button_click 함수를 찾았고, 해당 부분에서 인증하는 것을 알 수 있었다. 디스어셈블러를 자세히 보도록 하겠다. 조건문을 자세히보면 첫번째 텍스트박스(name)의 길이는 5
Advance RCE L06 남은 군생활은 몇일 인가 정답인증은 MD5 해쉬값(대문자) 변환 후 인증하시오 정말 문제부터 별로였다.. PEID에 올려보기 부터 시작하겠다. UPX로 패킹이 되어있는 것을 볼 수 있다. 툴을 이용하여 간단하게 언패킹을 진행했다. 언패킹 후, 올리디버거로 열어봤다. 안티디버깅이 적용된 것을 확인할 수 있었고, 간단하게 우회했다. 우회방법은 이전 글에서 소개되어있으니 참고하면 될 것 같다. 실행했을 때 메세지박스가 나오기 때문에, 올리디버거에서 messagebox와 관련된 함수를 검색해봤다. 역시나 존재하는 것을 알 수 있었고, 해당 함수에 BP를 걸고 실행해봤다. 아래의 스택에 보면 프로그램 실행시 나오는 메세지박스와 동일하다는 것을 알 수 있었고, 노가다를 통해 비교하는 부..
Advance RCE L05 Serial 을 구하시오 항상 해왔던 것처럼 PEID에 올려봤다. 비주얼 베이직으로 만든 프로그램인 것을 볼 수 있었고, 실행을 시켜봤다. 실행시키면 위와 같은 프로그램이 나오게 된다. 자세히 보기위해 올리디버거로 열어보도록 하겠다. 우선 함수부터 찾아보기로 했다. 많은 함수들을 찾았지만, 여기서 익숙한 함수를 보게되었다. 비주얼 베이직 프로그램의 문자열 비교 함수인 __vbaStrCmp를 찾았고, 해당 부분에 BP를 걸고 실행시켜봤다. 프로그램에 12345를 입력하고 ok를 눌렀다. BP를 걸어둔 부분에서 걸리는 것을 볼 수 있고, 12345는 입력값이고, ECX의 값이 시리얼값이라고 추측된다. 이렇게 프로그램을 재실행 후 시리얼값으로 추측되는 값을 넣으면 해당 메세지박스가..
Advance RCE L04 Name이 CodeEngn 일때 Serial은 무엇인가 L03과 같이 시리얼을 찾는 문제이다. L03과 똑같이 접근해보도록 하겠다. 우선 PEID에 L04파일을 올려봤다. 처음보는 파일 형식에 당황했지만 올리디버거에 올려 자세히 보도록 하겠다. 올리디버거로 열어봤지만 처음보는 구조에 2번째 당황을 했고, F8을 눌러 4011ae로 이동해봤다. 이부분의 반복문을 진행하고, 401006으로 다시 점프하는 것을 볼 수 있다. 반복문의 진행 과정에서 401006으로 이동해봤다. 프로그램 실행 초기와 다른 것을 볼 수 있었고, 위의 반복문을 통해 어셈이 복호화되는 것을 볼 수 있었다. 401006으로 점프하는 반복문의 끝에 BP를 걸고 F9를 눌러 실행 후 401006으로 이동했다. ..
Advance RCE L03 Name이 CodeEngn 일때 Serial은 무엇인가 프로그램을 PEID에 올려봤다. 따로 패킹은 안되어 있고, 어셈으로 제작된 프로그램인 것을 알 수 있었다. 프로그램이 어떤식으로 작동되는지 실행시켜보았다. 위와같은 화면이 출력되고, 이름과 시리얼을 입력하고 체크를 눌러 인증하는 프로그램으로 추측된다. 문제는 Name이 CodeEngn일 때의 Serial을 구하는 것으로 올리디버거로 열어봤다. 윈도우 10 환경에서는 되지 않는 것으로 보여 가상환경의 윈도우 7에서 올리디버거에 올려봤다. 정상적으로 올리디버거에 올려지는 것을 볼 수 있었다. 스트링 검색부터 해보도록 하자. 성공메세지와 실패메세지를 볼 수 있었고, 성공메세지 부분으로 들어가봤다. 입력값을 비교 후에 이곳으로 ..
Advance RCE L02 정답은 무엇인가 습관처럼 이번 문제 또한 PEID에 올려봤다. 따로 패킹이 되어있지 않은 것을 볼 수 있고, C++로 만든 프로그램인 것을 알 수 있었다. 프로그램이 어떤식으로 동작되는지 켜보았다. 아무 것도 나오지 않고, 키를 누르거나 클릭을 하면 프로그램이 꺼지게 된다. 올리디버거로 올려 자세히 보도록 하겠다. 스트링 검색을 통해보면 위와 같은 메세지를 볼 수 있다. 프로그램을 키면 위와같은 메세지가 떠야하는데 안뜨는 것을 보고 구글에 다른 사람들의 플이를 봤지만 나와 같은 문제는 볼 수 없었다. 가상환경으로 윈도우7이 깔려있어 윈도우7에서 실행을 했더니 잘 되는 것을 볼 수 있었다. 윈도우10에서는 안되는 것 같다. 위와 같은 화면이 출력되는 것을 볼 수 있고, 패스워드..
Basic을 모두 클리어하고, 다음 난이도인 Advance 문제를 풀이해보도록 하겠다. Advance RCE L01 이 프로그램은 몇 밀리세컨드 후에 종료 되는가 정답인증은 MD5 해쉬값(대문자) 변환 후 인증하시오 습관처럼 PEID에 파일을 올려보았다. UPX로 패킹된 것을 볼 수 있었고, 언패킹을 진행했다. PEID에 다시 올려 언패킹이 된 것을 확인할 수 있다. 올리디버거에 올려서 분석해보도록 하겠다. Basic의 문제중에 비슷한 문제가 존재했기 때문에 함수를 검색해본다. 아마도 timeGetTime 함수가 있지 않을까 예상된다. 예상과 같이 timeGetTime 함수가 존재하는 것을 볼 수 있었고, 함수를 눌러 자세히 보도록 하겠다. 해당 함수를 호출하는 모든 부분에 BP를 걸고, F9를 눌러 실..
Basic RCE L20 이 프로그램은 Key파일을 필요로 하는 프로그램이다. 'Cracked by: CodeEngn!' 문구가 출력 되도록 하려면 crackme3.key 파일안의 데이터는 무엇이 되어야 하는가 Ex) 41424344454647 (정답이 여러개 있는 문제로 인증시 맞지 않다고 나올 경우 Contact로 연락주시면 확인 해드리겠습니다) 드디어 Basic의 마지막 문제입니다. 프로그램을 실행하면 위와같은 화면이 나옵니다. 따로 기능은 없는 것으로 보입니다. PEID에 파일을 올려봤습니다. PEID를 통해 어셈으로 제작된 프로그램인 것을 알 수 있었습니다. 올리디버거를 통해 프로그램을 열어봤습니다. 보게되면, CreateFile을 통해 CRACKME3.KEY이 있는 경우에 18바이트만큼 문자를..
Basic RCE L19 이 프로그램은 몇 밀리세컨드 후에 종료 되는가 압축을 풀고, PEID에 올려봤다. UPX로 패킹된 것을 볼 수 있고, 언패킹툴을 통해 언패킹을 진행했다. 언패킹을 진행하고, 올리디버거를 통해 실행시켜봤다. 안티디버깅이 되어있는 것을 볼 수 있었고, 함수검색을 통해 isdebugpresent를 검색해서 들어간다. 해당 점프문 부분을 JNZ -> JZ로 바꿔 디버깅툴을 탐지하지 못하도록 한다. 문제는 시간을 구하는 문제이므로, 함수검색에서 time을 검색해봤다. timeGetTime이라는 함수를 볼 수 있었고, 구글을 통해 검색해봤다. 시간과 관련된 함수인 것을 볼 수 있었고, timeGetTime 함수 모두에 BP를 걸었다. F9를 통해 실행시키면 00444C44에서 걸리는 것을 ..