본문으로 바로가기

Wall Hack 의 원리

category Security/Reversing 2007. 3. 8. 22:26
반응형

현재 서든어택의 기반이 되는것은 Direct3D입니다.

OpenGL이라고 하시는분이 있는데 직접 후킹해보시면 압니다.

그 안에 다 Direct8인지 Direct9인지를 자세히 구별하는데

서든을 구축하는 엔진인 쥬피터엔진입니다.

이 엔진의 특성은 저렴하고(?) 낮은 Direct버전과 저사양에서 3D가 무리없이 돌아간다는것입니다.

서든어택에 사용된 엔진보다 한단계 위인 쥬피터EX로 제작된게임중

퀘이크4보다 그래픽과 게임성이 모두 뛰어난 FPS로 평가받고 있는 F.E.A.R.라는 게임이 있습니다.

잡소리는 때려치우고 하여튼 서든어택은 Direct8을 사용합니다.

흠.. 이제부터 후킹하는방법을 간단히 설명하는데

소스는 첨부하지 않겠습니다.

소스를 첨부한다면 그래픽프로그래밍을 몇번해보신분들은

금방 제작할수 있으니깐요.

제일 중요한부분만 언급하겠습니다.

일단 Direct8에 대한 퀄리티인터페이스 불러옵니다.

그러면 그 안에 케릭터나 총 칼 등등이 있겠죠.

저중 케릭터의 값만 축출하는 Straper라는 기술이 있습니다.

흠.. Straper라는 기술이 필요한 이유는

해당번호를 찾는다고 해야하나?

서든어택이 그래픽에 명명한값들을 찾아내는것입니다.

명명한값들이 숫자니깐 +1씩늘려보고 -1씩 줄여보면서 찾는거죠.

그렇게 해서 나온 케릭터의대한 숫자를 저장하고 그값에 대한 후킹이 이뤄지는것이죠.

제가 해본봐로는 서든어택은 68인가? 그렇고 스포는 40이고 크로스파이어는 38입니다.

현재 알려진 기술로는 D3D Startkit이 있는데 서든어택에는 안먹히더라구요.

서든어택에 적용시키려면 일단 Export함수로 수정 후 SSDT 후킹을 못하게 코딩시켜야합니다.

저도 머리로만 알고 있는거라 차마 설명이 잘안되네요..

흠.. 전에 지금은 비밀글이 된 글을 한번 본적이 있는데

엔진으로 레이더에 적이 어딧는지 표기되는건 찾아서 지금은 뭐 도 건전함(아는사람이므로 건전함형이라고

칭합니다.)처럼 수정중이라고 하는데,

프로그래밍을 쫌 하는사람이 치트엔진을 보는 시각은

Visual C++이 큰 상자라면 치트엔진은 찢어진 조금만한 상자만도 못합니다.

치트엔진으로 건전함형처럼 하려면 일일이 NtoKernel과 Direct8 수정될부분을 직접 수정해주시면 될것같네요.

제 생각으로는 수정하는데 한 15시간은 걸릴듯합니다.

치트엔진같은걸로 크랙을 하면 그 프로그램에 대한 10%는 손을 댈수 있습니다.

그러나 프로그래밍을 배워 후킹을 한다면 그 프로그램에 대한 90%를 자신 마음대로 할수 있습니다.






손충호형이 쓴글이군요

반응형

'Security > Reversing' 카테고리의 다른 글

언패커모음사이트  (0) 2007.03.09
Bypass REV 939  (0) 2007.03.08
Bypass REV 878  (0) 2007.03.08
About GameGuard  (0) 2007.03.08
Bypass REV 833  (0) 2007.03.08