일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 워게임풀이
- Basic RCE
- 치트엔진
- 포렌식
- BasicRCE
- CodeEngn
- 3번문제
- Web
- 치트엔진 튜토리얼 게임
- reversing
- xcz.kr prob
- 치트엔진 튜토리얼
- cheatengine
- 6번문제
- wargame.kr
- 오토잇디컴파일
- 써니나타스
- WarGame
- Couldn't invoke the file
- Couldn't in
- WTF_CODE
- CheatEngine Tutorial
- xcz.kr 문제풀이
- 8번문제
- 워게임
- 1번문제
- suninatas
- 시스템
- 리버싱
- xcz.kr
- Today
- Total
목록W4RG4M3 (102)
HackChang
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/F0KmC/btqFCpTFkzw/DCwGgGclmVXJv6OWVU6erK/img.png)
이번 문제는 대문자로 키를 입력하면 된다고 한다. 다운로드를 눌러보도록 하겠다. 크롬으로 열면 5초짜리 음성파일이 열리고, 모스부호? 같은 소리가 들린다. 크롬은 위에 - , +로 배속을 조절할 수 있다. 속도를 0.2배 정도로 들어보도록 하겠다. 긴 음은 - , 짧은 음은 x로 표시하도록 하겠다. x- xx- - xxxx -x- x -x-- xx xxx -- --- x-x xxx x -x-x ----- -xx x 내가 듣기로는 이렇게 들렸다. 띄어쓰기로 구분했고, 모스부호표를 검색을 통해 첨부하도록 하겠다. 위의 이미지와 비교해봤을 때 내가 들은 내용은 아래와 같다. x- = A xx- = U -= T xxxx = H -x- = K x = E -x-- = Y xx = I xxx = S -- = M --..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ebkpvf/btqFAq0FiZv/XcpM6KdmO19RkDVJHEWTg0/img.png)
xcz.kr의 워게임 1번 문제이다. 이미지의 뒤라는 제목과 사진이 한장 나와있다. 우선 이미지를 받아보도록 하겠다. 제목으로 봐서 HxD로 해당 이미지 파일을 열면 해결할 수 있을 것이라고 생각했고, HxD로 열어보도록 하겠다. HxD파일은 첨부하도록 하겠다. 위의 이미지파일을 불러온 결과이다. PNG의 파일 헤더는 89 50 4E 47인 것을 맨앞 ‰PNG를 통해 알 수 있고, PNG파일에 대해 검색을 해본 결과 PNG파일은 이미지 파일의 끝에 IEND라는 문자열을 가진다는 것이었다. 하지만 이 파일을 IEND로 검색하면 오른쪽에서 스크롤바가 아직 남아있는 것을 볼 수 있고, 내려보면 파일이 PNG파일 외에도 한개가 숨겨져있다고 예상되어 이미지 파일의 헤더를 찾아봤다. http://forensic-p..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcd5U4/btqFyqq5Y70/DMNNDIjw6eOLByB8SOfIfk/img.png)
치트엔진 튜토리얼 게임 3 드디어 치트엔진 튜토리얼의 진짜 마지막 문제다. 이번 문제는 스노우브라더스가 연상되는 캐릭터로 모든 발판을 다 밟은 후 오른쪽에 있는 문으로 들어가면 클리어가 되는 문제이다. 우선 게임을 메모리를 바꾸지 않고 즐겨보도록 하겠다. 게임을 이런식으로 진행하면된다. 위 화면은 죽은 후에 스크린샷을 남긴 것이라 캐릭터가 안보이는 것이다. 우선 나는 이 문제를 엄청 간단하게 생각을 했다. 발판이 총 12개이기 때문에 스캔으로 클리어할 수 있을 것이라고 생각했다. * 여기서 발판이 왜 11개가 아니고 12개인가하면 처음시작에 밟고있는 발판도 캐릭터가 시작하면서 밟기때문에 이 발판을 카운트하지 않는 사람이 있을 수 있다. 스캔을 발판을 밟으면서 1씩 증가시켜 스캔해보도록 하겠다. 값이 한개..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lVOWM/btqFv2LsHSW/8pRKoT0QAIjwCWCWrfwAC1/img.png)
치트엔진 튜토리얼 게임 2 이번 문제는 타겟이 2명이다. 게임만 봤을 때는 플레이어의 HP가 0이 되기 전에 두 타겟을 모두 파괴시키면 클리어가 될 것이라고 생각된다. 나는 저번 문제와 동일하게 타겟들의 HP를 수정 후 모두 파괴할 예정이다. 우선 치트엔진으로 왼쪽의 타겟부터 HP를 찾아보도록 하겠다. 게임을 이 상황에서 진행했으므로, 스캔방식을 상대 HP가 떨어질때 decresased value를 반복하다보면 나의 HP와 타겟의 HP 둘다 나올 것이다. 56을 보면 나의 HP와 동일한 것을 볼 수 있고, 많이 맞췄음에도 불구하고, 타겟의 HP는 많이 줄어들지 않았다. 189이 아마도 타겟의 HP라고 예상이 되어 나의 HP와 타겟1의 HP모두 주소목록으로 내려 포인터값을 구해보도록 하겠다. 우선 나의 H..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uzqSv/btqFtwzZvyL/UdvdOcxmWB3xGdEKB2krj0/img.png)
이번 문제부터는 게임을 클리어하는 문제다. 지금까지의 문제를 모두 클리어했다면 문제없이 클리어가 가능하다고 생각한다. 우선 엔진으로 gtutorial을 잡고, 진행하겠다. 이번 문제는 5발을 쏘면 장전을 해야되는데 그동안 타겟은 힐을 한다. 우선 게임을 진행해보도록 하겠다. 이런식으로 5발을 쏘고 장전을 하게되면 타겟은 힐을 해서 파괴할 수 없도록 만들어진 구조이다. 여기서 우리가 생각해볼 수 있는 건 여러가지 있겠지만 간단하게 총알을 많이 가지거나, 타겟의 HP를 낮추면 클리어할 수 있을 것이라고 생각된다. 여기서 나는 타겟의 HP를 1로 만들어서 한발만 쏴도 클리어가 되도록 하겠다. 치트엔진에서 스캔을 할 때 HP는 숫자로 나와있다면 정말 반갑겠지만, 역시나 나와있지 않았다. 스캔타입을 Unknown..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cosQ96/btqFrTHNkM4/omirxc2A3Vq1BT8HQZxGlK/img.png)
치트엔진 튜토리얼 9 이번 문제는 상당히 많은 방법으로 문제를 해결할 수 있다. 문제를 설명하자면 플레이어 1과 2가 컴퓨터인 플레이어 3,4를 이기면 클리어되는 문제이다. 우선 autoplay를 통해 게임을 진행해보겠다. 플레이어 1과 2가 패배한 것을 볼 수 있고, 컴퓨터 플레이어가 Health가 더 높고, 공격력이 더 높다는 것을 알 수 있다. 여기서 여러가지 방법을 생각해볼 수 있는데 몇 가지만 생각해보자면 1. 플레이어1, 2의 Health를 높인다. (무적도 가능) 2. 플레이어3, 4의 Health를 낮춘다. 3. 플레이어1, 2의 공격력을 올린다. 4. 플레이어3, 4의 공격을 무시한다. 4가지 방법말고도 많은 방법으로 풀 수 있다고 생각된다. 우선 나는 1번으로 해결해보도록 하겠다. 튜토..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YdKX2/btqFthn4vdH/82XgNL8X0UG0kwUYKMp4g0/img.png)
치트엔진 튜토리얼 8 이 문제는 6번 문제의 심화 문제라고 할 수 있다. 멀티레벨 포인터라는 것은 저번 문제처럼 오프셋이 하나가 아닌 여러 개의 오프셋으로 이루어진 포인터라고 할 수 있다. 말로 설명하기 힘드니 문제를 풀면서 보도록 하겠다. 기존 문제들과 같이 스캔을 진행하도록 하겠다. 값을 찾았고 F6을 눌러 opcode write를 보도록 하겠다. 레벨 6에서도 봤던 내용이라 설명은 하지 않겠다. 벨류가 바뀌고 메모리가 쓰이는 것을 확인할 수 있었다. * 멀티레벨 포인터의 경우에는 오프셋을 모두 메모해두어야 한다. [esi+18]에서 18이 오프셋이다. 즉 첫번째 포인터의 오프셋은 18 해당 ESI를 스캔을 해보도록 하겠다. 해당 주소를 검색하면 4개의 결과를 볼 수 있었다. * 컴퓨터마다 찾은 결과..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cTOyY6/btqFtJK7rk5/b50M9kCAVjYmeG7PLNZKmk/img.png)
치트엔진 튜토리얼 7 이번 문제 같은 경우는 스캔을 통해 찾은 값을 코드 인젝션을 통해 1씩 감소하는 Health를 2씩 증가하도록 만드는 문제이다. 우선 전에 풀었던 문제들과 동일하게 스캔을 진행해보도록 하겠다. 스캔 과정은 생략하도록 하겠다. 값이 한개 나왔고, 해당값이 메모리에서 어떻게 쓰이는지 보기위해 F6을 눌러 opcode write를 보도록 하겠다. Hit me를 눌러 메모리에서 위와같이 쓰이고 있음을 알 수 있게 되었다. 메모리뷰에서 해당 값으로 이동해보도록 하겠다. 값을 클릭 후 Show disassembler를 누르면 해당 주소로 이동된 메모리뷰를 볼 수 있다. 우리의 목표는 1씩 감소되는 것을 2씩 증가하도록 코드인젝션을 하는 것이기 때문에 opcode부분을 더블클릭하여 어셈블리어를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HlXqD/btqFrn3sOU1/piaPzTwNOiFBwzM2ZKap90/img.png)
치트엔진 튜토리얼 6 이제부터 문제 난이도가 조금 있는 편이다. 우선 이번 문제는 포인터관련 문제인데 튜토리얼을 진행하면서 프로그램을 껏다키고 다시 진행한 경우가 있을 것이라고 생각된다. 그럴 때마다 값을 미리 구해서 주소목록에 두었더라도 벨류값을 똑같이 수정해도 바뀌지 않는 것을 본 적이 있을 것이다. 포인터는 이러한 문제를 해결하고, 다시 문제를 풀게될 경우도 벨류를 수정하면 계속 적용할 수 있다. 자세히 공부하지 못하고, 글을 적는 것이기 때문에 설명이 부족할 수 있다.. 우선 진행해보도록 하겠다. 튜토리얼 프로그램의 벨류를 검색했다. 전에 풀던 문제들과 동일하게 스캔하여 값을 줄이도록 하겠다. 값을 주소목록으로 내려 문제에서 요구하는대로 5000으로 바꾸도록 하겠다. 벨류를 5000으로 변경했지만..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sMQL6/btqFtxqu6KI/AFqDe3mckQbEQiv99tsz81/img.png)
치트엔진 튜토리얼 5 해당문제는 스캔을 통해 나온 결과값이 메모리에서 어떤식으로 변경되는지 보고, 해당 메모리를 반응하지 않도록 바꾸면 클리어 되는 문제이다. 우선 스캔을 통해 값을 찾아보도록 하겠다. 한 두번의 스캔으로 간단하게 값을 찾을 수 있었고, 해당 값을 아래 주소목록으로 더블클릭해서 내렸다. 주소목록에 옮겨진 값을 오른쪽 마우스 눌러 Find out what writes to this address를 눌러보도록 하자. Yes를 눌러 진행한다. 이런 창이 나온 것을 볼 수 있고, 튜토리얼에서 Change Value를 눌러보도록 하겠다. 이렇게 값이 나온 것을 볼 수 있고, 값을 클릭 후 오른쪽의 Replace를 눌러 아래와 같이 수정한다. 위와 같이 수정 후 OK를 누른 후 튜토리얼 프로그램에서..