일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 치트엔진 튜토리얼
- 시스템
- CodeEngn
- 써니나타스
- 1번문제
- 워게임풀이
- Couldn't in
- 포렌식
- Web
- 리버싱
- wargame.kr
- BasicRCE
- xcz.kr prob
- suninatas
- Basic RCE
- WarGame
- CheatEngine Tutorial
- 오토잇디컴파일
- 치트엔진 튜토리얼 게임
- 워게임
- 8번문제
- cheatengine
- WTF_CODE
- 6번문제
- reversing
- 치트엔진
- xcz.kr
- 3번문제
- xcz.kr 문제풀이
- Couldn't invoke the file
- Today
- Total
목록치트엔진 튜토리얼 (11)
HackChang
치트엔진 튜토리얼 게임 3 드디어 치트엔진 튜토리얼의 진짜 마지막 문제다. 이번 문제는 스노우브라더스가 연상되는 캐릭터로 모든 발판을 다 밟은 후 오른쪽에 있는 문으로 들어가면 클리어가 되는 문제이다. 우선 게임을 메모리를 바꾸지 않고 즐겨보도록 하겠다. 게임을 이런식으로 진행하면된다. 위 화면은 죽은 후에 스크린샷을 남긴 것이라 캐릭터가 안보이는 것이다. 우선 나는 이 문제를 엄청 간단하게 생각을 했다. 발판이 총 12개이기 때문에 스캔으로 클리어할 수 있을 것이라고 생각했다. * 여기서 발판이 왜 11개가 아니고 12개인가하면 처음시작에 밟고있는 발판도 캐릭터가 시작하면서 밟기때문에 이 발판을 카운트하지 않는 사람이 있을 수 있다. 스캔을 발판을 밟으면서 1씩 증가시켜 스캔해보도록 하겠다. 값이 한개..
치트엔진 튜토리얼 게임 2 이번 문제는 타겟이 2명이다. 게임만 봤을 때는 플레이어의 HP가 0이 되기 전에 두 타겟을 모두 파괴시키면 클리어가 될 것이라고 생각된다. 나는 저번 문제와 동일하게 타겟들의 HP를 수정 후 모두 파괴할 예정이다. 우선 치트엔진으로 왼쪽의 타겟부터 HP를 찾아보도록 하겠다. 게임을 이 상황에서 진행했으므로, 스캔방식을 상대 HP가 떨어질때 decresased value를 반복하다보면 나의 HP와 타겟의 HP 둘다 나올 것이다. 56을 보면 나의 HP와 동일한 것을 볼 수 있고, 많이 맞췄음에도 불구하고, 타겟의 HP는 많이 줄어들지 않았다. 189이 아마도 타겟의 HP라고 예상이 되어 나의 HP와 타겟1의 HP모두 주소목록으로 내려 포인터값을 구해보도록 하겠다. 우선 나의 H..
이번 문제부터는 게임을 클리어하는 문제다. 지금까지의 문제를 모두 클리어했다면 문제없이 클리어가 가능하다고 생각한다. 우선 엔진으로 gtutorial을 잡고, 진행하겠다. 이번 문제는 5발을 쏘면 장전을 해야되는데 그동안 타겟은 힐을 한다. 우선 게임을 진행해보도록 하겠다. 이런식으로 5발을 쏘고 장전을 하게되면 타겟은 힐을 해서 파괴할 수 없도록 만들어진 구조이다. 여기서 우리가 생각해볼 수 있는 건 여러가지 있겠지만 간단하게 총알을 많이 가지거나, 타겟의 HP를 낮추면 클리어할 수 있을 것이라고 생각된다. 여기서 나는 타겟의 HP를 1로 만들어서 한발만 쏴도 클리어가 되도록 하겠다. 치트엔진에서 스캔을 할 때 HP는 숫자로 나와있다면 정말 반갑겠지만, 역시나 나와있지 않았다. 스캔타입을 Unknown..
치트엔진 튜토리얼 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번으로 해결해보도록 하겠다. 튜토..
치트엔진 튜토리얼 8 이 문제는 6번 문제의 심화 문제라고 할 수 있다. 멀티레벨 포인터라는 것은 저번 문제처럼 오프셋이 하나가 아닌 여러 개의 오프셋으로 이루어진 포인터라고 할 수 있다. 말로 설명하기 힘드니 문제를 풀면서 보도록 하겠다. 기존 문제들과 같이 스캔을 진행하도록 하겠다. 값을 찾았고 F6을 눌러 opcode write를 보도록 하겠다. 레벨 6에서도 봤던 내용이라 설명은 하지 않겠다. 벨류가 바뀌고 메모리가 쓰이는 것을 확인할 수 있었다. * 멀티레벨 포인터의 경우에는 오프셋을 모두 메모해두어야 한다. [esi+18]에서 18이 오프셋이다. 즉 첫번째 포인터의 오프셋은 18 해당 ESI를 스캔을 해보도록 하겠다. 해당 주소를 검색하면 4개의 결과를 볼 수 있었다. * 컴퓨터마다 찾은 결과..
치트엔진 튜토리얼 7 이번 문제 같은 경우는 스캔을 통해 찾은 값을 코드 인젝션을 통해 1씩 감소하는 Health를 2씩 증가하도록 만드는 문제이다. 우선 전에 풀었던 문제들과 동일하게 스캔을 진행해보도록 하겠다. 스캔 과정은 생략하도록 하겠다. 값이 한개 나왔고, 해당값이 메모리에서 어떻게 쓰이는지 보기위해 F6을 눌러 opcode write를 보도록 하겠다. Hit me를 눌러 메모리에서 위와같이 쓰이고 있음을 알 수 있게 되었다. 메모리뷰에서 해당 값으로 이동해보도록 하겠다. 값을 클릭 후 Show disassembler를 누르면 해당 주소로 이동된 메모리뷰를 볼 수 있다. 우리의 목표는 1씩 감소되는 것을 2씩 증가하도록 코드인젝션을 하는 것이기 때문에 opcode부분을 더블클릭하여 어셈블리어를 ..
치트엔진 튜토리얼 6 이제부터 문제 난이도가 조금 있는 편이다. 우선 이번 문제는 포인터관련 문제인데 튜토리얼을 진행하면서 프로그램을 껏다키고 다시 진행한 경우가 있을 것이라고 생각된다. 그럴 때마다 값을 미리 구해서 주소목록에 두었더라도 벨류값을 똑같이 수정해도 바뀌지 않는 것을 본 적이 있을 것이다. 포인터는 이러한 문제를 해결하고, 다시 문제를 풀게될 경우도 벨류를 수정하면 계속 적용할 수 있다. 자세히 공부하지 못하고, 글을 적는 것이기 때문에 설명이 부족할 수 있다.. 우선 진행해보도록 하겠다. 튜토리얼 프로그램의 벨류를 검색했다. 전에 풀던 문제들과 동일하게 스캔하여 값을 줄이도록 하겠다. 값을 주소목록으로 내려 문제에서 요구하는대로 5000으로 바꾸도록 하겠다. 벨류를 5000으로 변경했지만..
치트엔진 튜토리얼 5 해당문제는 스캔을 통해 나온 결과값이 메모리에서 어떤식으로 변경되는지 보고, 해당 메모리를 반응하지 않도록 바꾸면 클리어 되는 문제이다. 우선 스캔을 통해 값을 찾아보도록 하겠다. 한 두번의 스캔으로 간단하게 값을 찾을 수 있었고, 해당 값을 아래 주소목록으로 더블클릭해서 내렸다. 주소목록에 옮겨진 값을 오른쪽 마우스 눌러 Find out what writes to this address를 눌러보도록 하자. Yes를 눌러 진행한다. 이런 창이 나온 것을 볼 수 있고, 튜토리얼에서 Change Value를 눌러보도록 하겠다. 이렇게 값이 나온 것을 볼 수 있고, 값을 클릭 후 오른쪽의 Replace를 눌러 아래와 같이 수정한다. 위와 같이 수정 후 OK를 누른 후 튜토리얼 프로그램에서..
치트엔진 튜토리얼 4 이번 문제는 1번과 상당히 비슷한데 단지 벨류타입이 정수형이 아닌 float double이므로 스캔을 float, double로 진행 후 벨류는 5000이상으로 바꾸면된다. 간단하게 사진으로 설명하도록 하겠다. float으로 지정 후 100을 스캔하겠다. 검색결과가 나왔지만 무엇이 Health를 가르키는지 알 수 없어 Hit me를 누르고 다시보도록 하겠다. 바뀐 벨류는 빨간색으로 표시되는 것을 볼 수 있고, 해당 값을 주소목록으로 내리고 아머 부분을 찾도록 하겠다. 검색 결과가 2개지만 무엇이 아머인지 알 수 없으므로 똑같이 Fire를 누르고 보도록하겠다. 아래의 값이 아머이고, 이 값 또한 더블클릭하여 주소목록으로 내려 벨류를 둘 다 5000이상으로 바꾸도록 하겠다. 간단하게 클..
레벨2 처음봤을 때 레벨1과 비슷한 느낌이다. 하지만 첫 Health를 알 수 없는 문제이고, 아래 내려보면 Health가 0~500사이의 값이며, 5000으로 수정하면 클리어할 수 있다고 나온다. 이번 문제는 스캔타입을 바꾸면 쉽게 클리어할 수 있는 문제다. 우리가 여기서 사용할 수 있는 스캔타입은 2가지이다. 우선 0~500사이의 값이라고 나왔기 때문에 Value between과 값을 모르기 때문에 Unknown initial value로 스캔을 할 수 있다. Unknown initial value타입으로 문제를 해결해보도록 하겠다. 기회가 된다면 Value between으로도 문제를 해결해보도록 하자. 716,800개의 스캔결과가 나왔지만 너무 많은 결과로 아래 목록이 나오지 않는 것이다. 다음으로..