연재

(스압,노잼,정보) 게임 핵(Hack)에 관한 글 - 11 (게임핵 제작과정2)



Hello Guys,


Welcome to my Game Hacking post


So, Today we are learning about How to make a Hack 



But, unfortunately I can't tell you that How to make a Korea Online Game hack.


Why? Because If i'll write that. Maybe The game company will take legal steps ...



That's Why can't tell you what how to make a specific game hack.


However I'll write generally how to make my own hack



Here we go !



==================================


음 역시 영어는 너무어렵군


다시 한글로 쓰게씀


일단 스타크래프트를 대상으로 작성해볼꺼야


하지만 스타크래프트가 온라인게임이라고 생각하고 온라인게임핵 만들듯이 만들어볼꺼임


1.jpg



음 일단 미네랄핵부터 제작을 해보자


2.jpg

 


일단 미네랄 값을 검색해서


4개의 값을 얻었어


물론 지금은 싱글플레이중이니까


저것들만 수치를 수정해도 미네랄가지고 있는양이 바뀌긴 하겠지만



이번시간은 온라인게임핵만들듯이 만들꺼니까 난 좀더 엘레강스하게 만들꺼임



3.jpg


저 미네랄 값에 관련하고있는 값들임




 4.jpg


맨위에 있는것은 초마다 연관이 되니까 그냥 계속 미네랄 수치를 체크하는 그런 기능인것같고


우리는 광물을 넣었을때에 연관된 어셈블리어를 봐야해



먼저 EAX , EBX ,ECX ... 등등등은 숫자 저장소같은거라고 생각하면돼


[Eax*4+StarCraft.exe+17f0f0] 는 현재 미네랄값 아까 위에서 찾은값임


Mov edi,[Eax*4+StarCraft.exe+17f0f0]

첫번째 EDI 에는 16진수로 10A(10진수로는266)가 들어있고


이 어셈블리어를 해석하자면 EDI라는 저장소에 현재 미네랄값을 넣어라




두번째 EDI 에는 16진수로 112(10진수로는274)가 들어있어


Mov [Eax*4+StarCraft.exe+17f0f0],edi


두번째 어셈블리어는 두개 위치가 뒤바뀌어있지?


이 어셈블리어는 EDI 저장소안에 있는 값을 현재 미네랄값에 넣어라는거임




즉 저 두 값사이에 분명 EDI라는 저장소안에 있는 값을 +8 시켜주는


그런 어셈블리어가 있을꺼라고 나는 생각함


5.jpg


어셈블리어 창이야 윗쪽만 보면돼


1번과 2번 어셈블리어가 있고


그 중간에 add edi,ecx 가 보이지?


즉 EDI저장소에 ECX 저장소를 더하라는 소리야



즉 그렇다면 ECX 저장소에 8이라는 숫자가 들어있다는 결론이 나와


그럼 ECX 저장소의 주소값을 얻어야하는데


그 위에 줄에보면



Movzx ecx,byte ptr[esi+cf] 라는게 보이지?


해석하자면 ECX저장소는 [ESI+CF] 라는 저장소에서 1바이트값을 얻어와


 6.jpg


어드레스에 보면 0060ebb8 이 ESI고 + 000000CF를 해주면 그 주소가 나오지



 7.jpg

 


흠 그런데 주소를 맞게 찾아왔는데


왜 값이 0일까? 8이 아니라


여기서 더 생각을 해보자



이건 아마 조건부적인 값일꺼야


즉 SCV가 광물을 채취했을때만 숫자가 8로 바뀔꺼야


광물을 들고있지 않을때는 숫자가 0일꺼고


8.jpg


SCV가 광물을 채취한게 보이지?


광물을 채취하고나니 8로 바뀌었어.

 9.jpg


그럼 그 주소값을 분석해보자


사진에도 나와있지만


첫번째만 광물을 채취시 엑세스하는 값이고


나머지는 광물을 반환시 엑세스하는 값이야




내가 최종적으로 만들고싶은건 미네랄를 채취할때 8씩올라가게하는게아니라 더 올라가게 해서 미네랄 핵을 만드는거야


채취시 Mov [EDI+0000000CF],cl 


즉 [EDI+0000000CF]값은 현재 SCV가 들고있는 미네랄의 양이고


그 곳에 CL이라는걸 집어넣어


이건 EAX,EBX같은 저장소와는 좀 다르지만.. 설명하면 복잡해지니


이것도 저장소라고 생각해



그럼 결론적으로 저 CL값을 변경해주면 우리는 미네랄을 더 많이 획득 할수있는거야


 10.jpg



간단한 스크립트를 짜봤어



해석해주자면


alloc(newmem,1024)

Newmem 이라는 1024kb 크기를 가진 메모리를 생성


label(returnhere)

Returnhere 이라는 이름을 붙임

label(exit)
exit 이라는 이름을 붙임


newmem:

Newmem 이라는 공간에 메모리를 작성

Push eax

EAX를 담아둠 (이걸 왜 담아두냐면 이미 EAX라는 저장소가 다른곳에서 쓰고있기때문에 내가 여기서 잠깐만써야하기때문에 코드가 엉키지말라고 담아두는거임)

mov eax,ff

EAX라는 저장소에 16진수 FF 를 집어넣음(10진수로는 255)

Mov [EDI+0000000CF],eax

EAX값을 [EDI+0000000CF]값에 집어넣음 (SCV가 들고있는 광물의 양)

pop eax

EAX를 다시 꺼냄(썼으니까 다시 꺼내둬야죠)

exit:

Exit이라는 공간에 메모리 작성
jmp returnhere

Returnhere이라는곳으로 이동

"StarCraft.exe"+F3B3F:

원래 코드위치 메모리에 작성

jmp newmem

Newmem으로 이동

nop

Nop (크기를 맞추기위해서 쓰는 아무것도 안하는코드)

returnhere:

Returnhere 라는메모리를 작성





존나 뭐가 거창해 보이긴하는데


결국에는 원래 코드값에 내 코드 값을 끼워두는거라고 생각하면됌


이제 됬을것같네요


영상을 보죠




캬 255가 올라가는 미네랄을 보십시오



 11.jpg


이제 다른걸 만들어보죠


이번에는 무적핵 아니면 체력핵을 제작해봅시다.


현재 마린의 체력값을 검색해서 값을 찾았고요


 12.jpg


맞았을시 이런 코드가 나오네요


분석을 위해 좀더 위아래를 봅시다


 13.jpg

 


mov [ebx+08],eax 위에


Sub eax,edi 가 보이죠?



아까 피격을 당했을시


[ebx+08]라는 마린체력값에 eax 값을 넣었는데


그 윗줄에 EAX값을 EDI 값만큼 줄이는 코드가 있네요.



즉 그렇다면 저걸 마이너스가 되는게아니라


+로 바꿔봅시다





맞으면 피가 차는 기묘한 현상을 보실수있습니다.



14.jpg


캬 피 3만 마린






=================================================================



결국에는 이런느낌임


바로 그 값을 찾아서 수정하는게 아닌


그 값을 엑세스하는 코드값을 찾아서



오류가 뜨지않게 잘 조정해보는거죠



아마 저렇게 쉽게는 온라인게임에 안먹히겠지만


대충 내가 말하고자 하는것은


저런 느낌으로 게임핵이 제작되는거임






후 한번쓸때마다 너무 시간이 걸린다.


내가 자주쓸수없는게 이런문제이기도하지


다음편에 보자꾸나

21개의 댓글

2013.10.26
코드케이브네 ㅎㅎ
설명중에 조금 명칭이 다른게 몇개있긴 하지만
ㅊㅊ
0
2013.10.26
켁... 영어 무리수;;
굳이 지적은 안하겠다만.

차치하고
거의 백퍼 한국 온라인게임은 치트엔진 같은걸론 씨알도 안먹힘...
근데 해외 퍼블리싱 온라인게임은 슈ㅣ발 잘뚤리졍;

아무리 한국 게임회사들이 똥망 운영으로 욕먹어도 ,
님들 외국 온라임 게임 해커들 무법자마냥 돌아다니는거보면 입이 안다물어지실듯.
0
2013.10.26
@외쿡인
난 아직도 치트엔진이 편해서 한국온라인게임 핵쓸때도 치트엔진으로 사용하는데

딱히 게임가드 우회가 어려운것도아니고
0
2013.10.26
@흑기
근데 대부분 메이저급 온라인게임은 다막혀있지ㅋㅋ
저거 쓸려고하면 바로 게임 다운되거나 경고 먹거나ㅋㅋ
0
2013.10.27
@양구십미리
메이저급 온라인게임이 어떤게임 말하는지 모르겠지만
어지간한 게임은 다 핵 가능하다.
우선 게임가드 프로그램은 해외 포럼돌아다니면
CRC 우회할 수 있는 방법이 있다. 물론 국내랑 버전이 다르긴 하지만
어차피 어느정도 실력이 있으면 그리 어려운 일이 아니때문에
우회를 할 수 있다.
CRC 우회를 하면 거의 게임가드 기능이 무용지물이 되는거기때문이고
직접적으로 메모리를 건들여도 감지 못 하는 게임이 많고
감지하는 게임은 위의 흑기가 사용한 코드케이브 기법으로도 잘 된다.
( 대표적으로 메이스플스토리,사이퍼즈가 있겠다)

기본적으로 국내에서 가장 많이 사용하고 있는 핵은
DLL인젝션,코드케이브,패킷조작 이라고 생각하면된다.
또한 클라이언트 메모리를 조작해서
모션을 엄청빠르게해서 흔히 노딜레이라고 부르는 핵같은 경우는 거의 감지되지 않음..

최근에 겟앰프드라는 게임에서
미션을깨면 게임머니 G머니를 주는게 있는데
이걸 메모리조작해서 캐쉬를 획득할 수 있게 조작하는것도 본적이 있다.
0
2013.10.26
추천
0
2013.10.26
이런 언어 자세하게 배우려면 뭐공부해야됨?
0
2013.10.26
@성현아
결국에는 프로그래밍이지

프로그램이 어떤방식으로 구동되는지 모르면 핵도 만들기가 힘들어
0
2013.10.27
@흑기
어차피 게임핵을 사용해려고 배우는거라면
그리 어렵진 않아.
어차피 쓰는건 한정적이니까
우선 치트엔진 튜토리얼을깨면
기본적으로 어떠한 방식으로 작동되는지를 알고
스택,포인터,어셈스크립트 딱 이 3가지만 중점적으로 배우고
혹시나 게임핵 판매하는거 있으면 구매해서
이게 어떤식으로 구동되는지 알아내고하면
한두달이면, 어느정도 게임핵에 대한 개념은 잡을 수 있음.
0
2013.10.26
뭔소린줄은 모르지만 대단해서 ㅊㅊ
0
2013.10.27
뭔말임?
-좆중1-
0
2013.10.31
알려준대로 만든거 저장 어떻게해? 졸라열심히만들었는데 한번 겜켤때마다 같은작업 반복해줘야해?
0
2013.11.02
와 와 와 와 와
0
2013.11.27
저기 궁금해서 그러는건데요 만약에 스마트폰게임에서 Xigncode를 무력화시키려면 bypass tool을 사용해서 해야하는건가요? 아님 게임내 파일을 변조해서 해야하는건가요?
0
2013.12.01
@비창
스마트폰 치팅은 문외한임 죄송

제가 스마트폰게임은 하지않아서 관심을 가지지않았음
0
2013.12.03
@흑기
ㅇㅏ~ 네~ ㅎㅎ 그럼 xigncode를 무력화 하려면 순전히 소스를 건드려야 하는게 맞는건가요? 아님 어떤 파일을 지우게 되면 어느부분에서는 작동하지 않을수도 있는건가요? ㅎㅎ
0
2013.12.03
@비창
스마트폰은 어떤방식인지모름 걍 pc의 사인코드는 클라이언트에서 분리시켜버리면됌
0
2013.12.05
@흑기
ㅇㅏ 네~ㅋ 제가 알아보니까 모바일 xigncode는 제로플래그로 무력화가 된다는데 어디에 재로플래그를 넣어야할지 하나도 모르겠네요 ㅋ 여튼 말씀 감사합니다 ㅋ
0
2013.12.10
ㅋㅋ치트엔진공부하다가 좋은글발견했네요 잘읽고갑니다~~
0
2014.08.13
흑기님아.. 문의좀드려도될까요?
0
2014.11.14
이거 댓글달려고 개드립 회원가입까지함.

프리바람 하고있는데 프리서버 부분에서 자세하게 설명이 안되어있어서 이부분에 댓글씀

이해가 다 되는데 프리서버에서 내가 체력회복량이다던가 체력랑을 수정하고싶은데

그게 잘 안됨 자꾸 팅겨버림..

조금 더 자세하게 온라인부분에서 알려줬으면 하는 바람임

무적이던가 체력부분에서는 찾고 수치찾으려고 체력깍으려면 팅겨버리네
0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜
5218 [연재] 공포게임하는.manhwa 15[아편고양이, 캣냅편] <파피플레이... 11 잿더미어캣 14 3 일 전
5217 [연재] 공포게임하는.manhwa 14[교권의 수호자, 미스딜라이트] <... 15 잿더미어캣 22 10 일 전
5216 [연재] 공포게임하는.manhwa 13[4D로 즐기는 허기워기] <파피플레... 21 잿더미어캣 18 17 일 전
5215 [연재] 공포게임하는.manhwa 12 <파피플레이타임> 7 잿더미어캣 17 24 일 전
5214 [연재] 공포게임하는.manhwa 11 <파피플레이타임> 4 잿더미어캣 14 2024.03.19
5213 [연재] 조조전 모드 - 유선전 플레이 일지 (29) 8 CopyPaper 13 2024.03.15
5212 [연재] 조조전 모드 - 유선전 플레이 일지 (28) 6 CopyPaper 6 2024.03.15
5211 [연재] 조조전 모드 - 유선전 플레이 일지 (27) 4 CopyPaper 5 2024.03.14
5210 [연재] 조조전 모드 - 유선전 플레이 일지 (26) 3 CopyPaper 5 2024.03.14
5209 [연재] 조조전 모드 - 유선전 플레이 일지 (25) 8 CopyPaper 6 2024.03.13
5208 [연재] 조조전 모드 - 유선전 플레이 일지 (24) 5 CopyPaper 5 2024.03.12
5207 [연재] 조조전 모드 - 유선전 플레이 일지 (23) 7 CopyPaper 5 2024.03.12
5206 [연재] 조조전 모드 - 유선전 플레이 일지 (22) 5 CopyPaper 5 2024.03.11
5205 [연재] 공포게임하는.manhwa 10 <파피플레이타임> 4 잿더미어캣 8 2024.03.11
5204 [연재] 조조전 모드 - 유선전 플레이 일지 (21) 9 CopyPaper 4 2024.03.05
5203 [연재] 조조전 모드 - 유선전 플레이 일지 (20) 5 CopyPaper 7 2024.03.05
5202 [연재] 조조전 모드 - 유선전 플레이 일지 (19) CopyPaper 5 2024.03.04
5201 [연재] 조조전 모드 - 유선전 플레이 일지 (18) 2 CopyPaper 5 2024.03.04
5200 [연재] 공포게임하는.manhwa 09 <리썰컴퍼니>편 완 2 잿더미어캣 10 2024.03.04
5199 [연재] 조조전 모드 - 유선전 플레이 일지 (17) 5 CopyPaper 7 2024.03.04