SlideShare una empresa de Scribd logo
1 de 76
Descargar para leer sin conexión
게임 리소스 추출과 변조
ICEWALL 오효근
ICEWALL2015-08-20
whoami
• 오효근
• 한양대학교 ICEWALL
• Best of the Best 4기
• 프로그래밍 삽질에 지대한 관심이 있음
• 뻘짓거리에 집착하는 경향이 큼
2
ICEWALL2015-08-20
이상은...
• 너도 할 수 있다 게임분해!!!
• 너도 할 수 있다 모딩!!!
• 너도 할 수 있다 툴키디!!!
3
ICEWALL2015-08-20
현실은...
• 나도 할 수 없다 리버싱!!!
• 나도 할 수 없다 게임가드 우회!!!
• 나도 당했다 영구정지!!!
4
ICEWALL2015-08-20
뭘 할껀데?
• 간단한 언패킹 및 리소스 들여다보기
• 툴만 써서 게임 리소스를 뒤엎는 시연
• 도대체 이게 왜 재미있는지에 대한 설명
5
ICEWALL2015-08-20
언팩?
6
ICEWALL2015-08-20
UPX?
7
ICEWALL2015-08-20 8
ICEWALL2015-08-20
언팩?
9
ICEWALL2015-08-20
언팩?
10
ICEWALL2015-08-20
언팩?
• 팩킹 된 것을 푸는 것
• 게임 내 데이터들을 해체하는 과정
• 마X노기나 던X에서는 좀 더 포괄적으로 사용

: 데이터를 수정하는 일련의 과정까지 포함
11
ICEWALL2015-08-20
언팩?
• 검열되었습니다. 죄송합니다.
12
ICEWALL2015-08-20
타겟은?
13
ICEWALL2015-08-20 14
ICEWALL2015-08-20 15
ICEWALL2015-08-20
Thanks to GNISoft
16
ICEWALL2015-08-20
타겟은?
• Art of War
• 2008 - 2009
• 한국 / 중국 서비스
• GNISoft 개발 / 감마니아 퍼블리싱
• 발표자가 미친듯이 했었던 게임
17
ICEWALL2015-08-20
타겟은?
• Gigaslave
• 2010 - 2014
• 한국 / 중국 / 대만 / 태국 / 인도네시아
• GNISoft 개발 / 퍼블리셔는 각각 다름
• Art of War의 후속작 / 기존 맵 우려먹음
18
ICEWALL2015-08-20
타겟은?
19
https://www.youtube.com/watch?v=NkpPsTjqxd0
ICEWALL2015-08-20
타겟은?
20
ICEWALL2015-08-20
타겟은?
21
ICEWALL2015-08-20
타겟은?
• AOW.cvf는 93.6MB
• _aow.exe는 3MB
• aow.exe는 1.9MB
22
ICEWALL2015-08-20
AOW.cvf에 뭔가 있을 거 같다!
23
ICEWALL2015-08-20
AOW.cvf
24
ICEWALL2015-08-20
AOW.cvf
25
ICEWALL2015-08-20
AOW.cvf
26
파일 사이즈?
ICEWALL2015-08-20
AOW.cvf
• 일종의 압축 파일 같다?
• 근데 압축 알고리즘을 모르겠다.
• 그렇다고 수동으로 hex 값을 복붙하기는 싫다
• 그렇다면?
27
ICEWALL2015-08-20
QuickBMS
28
ICEWALL2015-08-20
QuickBMS
• http://aluigi.altervista.org/quickbms.htm
• 모딩 좀 하다보면 만나는 녀석
• 700개 이상의 게임 파일 분해 지원
• 게임 파일 뜯는데 주로 사용
29
ICEWALL2015-08-20
QuickBMS
30
ICEWALL2015-08-20
QuickBMS
• QuickBMS를 이용한 분해
• 정보들을 추출
• 필요한 정보들 및 구조 살펴보기
31
ICEWALL2015-08-20
QuickBMS
32
ICEWALL2015-08-20
QuickBMS
33
ICEWALL2015-08-20
뜯어봅시다
34
ICEWALL2015-08-20
(시연 중)
35
ICEWALL2015-08-20
결론은?
• 의외로 간단한 구조
• 의외로 대놓고 보여줌
• 의외로 나도 만들 수 있을 거 같음
36
ICEWALL2015-08-20
이게 별게 아닐까요?
37
ICEWALL2015-08-20
이게 별 게 아닐까요?
38
http://www.thisisgame.com/webzine/news/nboard/4/?
n=10696
ICEWALL2015-08-20
이게 별 게 아닐까요?
39
http://blog.naver.com/tantk/120065353095
ICEWALL2015-08-20
이게 별 게 아닐까요?
40
http://blog.naver.com/tantk/120065353095
ICEWALL2015-08-20
이게 별 게 아닐까요?
41
http://blog.naver.com/tantk/120065353095
ICEWALL2015-08-20
이게 별 게 아닐까요?
• 영상
42
http://blog.naver.com/tantk/120065353095

http://www.mgoon.com/ch/tantk/v/2115226
ICEWALL2015-08-20
Thanks to 땅꾸
43
http://blog.naver.com/tantk/120065353095
ICEWALL2015-08-20
World of Tanks
44
ICEWALL2015-08-20
World of Tanks
45
ICEWALL2015-08-20
World of Tanks
46
ICEWALL2015-08-20
World of Tanks
47
https://www.youtube.com/watch?v=EcXy7XrB_Ms
ICEWALL2015-08-20
한 발짝 더
• 과연 게임 그래픽 리소스만 추출 가능?
• 과연 게임 그래픽 정도만 바꿀 수 있음?
• 과연 게임 리소스에 대한 방어가 이 정도임?
48
ICEWALL2015-08-20
한 번 봅시다
49
ICEWALL2015-08-20
(시연 중)
50
ICEWALL2015-08-20
한 번 봤더니?
51
ICEWALL2015-08-20
한 번 봤더니?
• 검열 되었습니다. 죄송합니다.
52
ICEWALL2015-08-20 53
ICEWALL2015-08-20 54
http://pwnadventure.com/
ICEWALL2015-08-20
Pwn Adventure
• Ghost in the shellcode에서 문제로 내준
MMORPG 게임
• Unity3D 기반으로 제작
• 여러가지 공격 기법을 배우고 볼 수 있음
55
ICEWALL2015-08-20
Pwn Adventure 3
• http://lockboxx.blogspot.kr/2015/01/ghost-in-
shellcode-2015-ctf-writeup-pwn.html
• http://lockboxx.blogspot.kr/2015/01/ghost-in-
shellcode-2015-ctf-writeup-pwn.html
• http://www.0xebfe.net/blog/2015/01/24/ghost-in-
the-shellcode-2015-pirates-treasure-500-write-
up/
• https://medium.com/@shanewilton/ghost-in-the-
shellcode-2015-blockys-revenge-7074a119115e
56
ICEWALL2015-08-20
Pwn Adventure 2
• http://balidani.blogspot.kr/2014/01/ghost-
in-shellcode-2014-pwn-adventure-2.html
• http://lockboxx.blogspot.kr/2014/01/ghost-
in-shellcode-2014-ctf-writeup.html
57
ICEWALL2015-08-20
Unity 3D
58
ICEWALL2015-08-20
Unity 3D
59
ICEWALL2015-08-20
Unity 3D - 시장 점유율
60
ICEWALL2015-08-20
Unity 3D - 시장 점유율 (모바일)
61
ICEWALL2015-08-20
Unity 3D - 가격 정책
62
ICEWALL2015-08-20
Unity 3D - 에셋 스토어
63
ICEWALL2015-08-20
넌 이미 분해되어 있다
64
ICEWALL2015-08-20
넌 이미 분해되어 있다
• 잘 알려진 엔진 구조
• 잘 알려진 공격 기법
• 널리 퍼진 분해 툴들
65
ICEWALL2015-08-20
넌 이미 분해되어 있다
• 앞서 말한 장점들이 오히려 단점으로 작용!
• 모바일 게임에 대한 공격이 점점 강해짐
• Unity 3D는 그렇게 보안에 신경을 쓰지 않음
66
ICEWALL2015-08-20
쉽게 뚫릴 쏘냐
67
ICEWALL2015-08-20
쉽게 뚫릴 쏘냐
• “클라이언트는 적의 손아귀에”

- 게임 개발에서의 클라이언트 보안

NDC 2007 / http://www.slideshare.net/innover/revival-20109213
• “스마트폰 해킹과 대응”

KGC 2013 / http://www.slideshare.net/ChanhoSong/for-kgc2013
• “Protecting your Android content”

UniteKorea2013 / http://www.slideshare.net/williamyang3910/
unitekorea2013-protecting-your-android-content-21713675?related=1
68
ICEWALL2015-08-20
쉽게 뚫릴 쏘냐
•“유니티에서 메모리 암호화 Step by Step”

NDC 2014 / http://ndcreplay.nexon.com/NDC2014/sessions/
NDC2014_0100.html#p=13
•“모바일 게임앱 해킹 공격과 그 방어 전략”

NDC 2015 / http://ndcreplay.nexon.com/NDC2015/sessions/
NDC2015_0058.html#k%5B%5D=%ED%95%B4%ED%82%B9
69
ICEWALL2015-08-20
더 볼만한 것?
• “라이브중인 2D게임에 시스템 변경 없이 본 애
니메이션 도입하기 [던전앤파이터]”

NDC14 / http://www.slideshare.net/SeungwonbruceLee/ndc14-2d
•“게임 해킹툴의 변칙적 공격 기법 분석”

CodeEngn 2013 / http://www.slideshare.net/CodeEngn/2013-codeengn-
conference-09-parksam
• 사설 게임 서버를 막기 위한 방법들

NDC 2014 / http://ndcreplay.nexon.com/NDC2014/sessions/
NDC2014_0047.html#p=10
70
ICEWALL2015-08-20
결론?
71
ICEWALL2015-08-20
결론?
72
ICEWALL2015-08-20
결론?
• 카운터스트라이크는 하프라이프의 모드로 시작
• 1999년 모드 출시
• 2000년 밸브에 의해 정식 발매
• 420만 장 이상 판매 (2008 밸브 자료)
73
ICEWALL2015-08-20
결론?
• 배움의 기회
• 다양한 타협점
• 뚫는 법을 알면 막는 법도 안다
• 악의적인 목적으로만 쓸 수 있는게 아니다
74
ICEWALL2015-08-20
QnA
75
ICEWALL2015-08-20
감사합니다
76

Más contenido relacionado

La actualidad más candente

김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
devCAT Studio, NEXON
 

La actualidad más candente (20)

「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方「3Dゲームをおもしろくする技術 」のいろいろな読み方
「3Dゲームをおもしろくする技術 」のいろいろな読み方
 
UniRxことはじめ
UniRxことはじめUniRxことはじめ
UniRxことはじめ
 
Localization feature of ue4
Localization feature of ue4Localization feature of ue4
Localization feature of ue4
 
UniTask入門
UniTask入門UniTask入門
UniTask入門
 
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)
 
ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」
 
게임제작개론: #1 게임 구성 요소의 이해
게임제작개론: #1 게임 구성 요소의 이해게임제작개론: #1 게임 구성 요소의 이해
게임제작개론: #1 게임 구성 요소의 이해
 
超軽量経路探索 for Unity
超軽量経路探索 for Unity超軽量経路探索 for Unity
超軽量経路探索 for Unity
 
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games ConferenceKGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference
 
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
2015-10-31 クラウドネイティヴ時代の運用を考える  〜 ドキュメント駆動運用へ2015-10-31 クラウドネイティヴ時代の運用を考える  〜 ドキュメント駆動運用へ
2015-10-31 クラウドネイティヴ時代の運用を考える 〜 ドキュメント駆動運用へ
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?
 
北⽶のハイパーカジュアル ゲーム開発現場で良く使われた アセット30選‒ 2019年版
北⽶のハイパーカジュアル ゲーム開発現場で良く使われた アセット30選‒ 2019年版北⽶のハイパーカジュアル ゲーム開発現場で良く使われた アセット30選‒ 2019年版
北⽶のハイパーカジュアル ゲーム開発現場で良く使われた アセット30選‒ 2019年版
 
先進的なルックデベロップメント
先進的なルックデベロップメント先進的なルックデベロップメント
先進的なルックデベロップメント
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
독립 개발 4년차 리뷰
독립 개발 4년차 리뷰독립 개발 4년차 리뷰
독립 개발 4년차 리뷰
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
 
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザインワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
 

Destacado

[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
SeungWon Lee
 
스마트폰 해킹과 대응 @KGC2013
스마트폰 해킹과 대응 @KGC2013스마트폰 해킹과 대응 @KGC2013
스마트폰 해킹과 대응 @KGC2013
Chanho Song
 
한국적인 이미지
한국적인 이미지한국적인 이미지
한국적인 이미지
parkds2
 
신세계 마케팅전략 (No.3)8_ight seconds(제출용)
신세계 마케팅전략 (No.3)8_ight seconds(제출용)신세계 마케팅전략 (No.3)8_ight seconds(제출용)
신세계 마케팅전략 (No.3)8_ight seconds(제출용)
승욱 유
 
[5Rocks] 게임데이터 분석 세미나
[5Rocks] 게임데이터 분석 세미나[5Rocks] 게임데이터 분석 세미나
[5Rocks] 게임데이터 분석 세미나
Tapjoy X 5Rocks
 

Destacado (20)

Uso de la compudatora
Uso de la compudatoraUso de la compudatora
Uso de la compudatora
 
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
 
[2014 CodeEngn Conference 10] 정광운 - 안드로이드에서도 한번 후킹을 해볼까 (Hooking on Android)
[2014 CodeEngn Conference 10] 정광운 -  안드로이드에서도 한번 후킹을 해볼까 (Hooking on Android)[2014 CodeEngn Conference 10] 정광운 -  안드로이드에서도 한번 후킹을 해볼까 (Hooking on Android)
[2014 CodeEngn Conference 10] 정광운 - 안드로이드에서도 한번 후킹을 해볼까 (Hooking on Android)
 
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
 
초보자를 위한 시스템 해킹 공부 가이드라인
초보자를 위한 시스템 해킹 공부 가이드라인초보자를 위한 시스템 해킹 공부 가이드라인
초보자를 위한 시스템 해킹 공부 가이드라인
 
K defense v-keypad
K defense v-keypadK defense v-keypad
K defense v-keypad
 
스마트폰 해킹과 대응 @KGC2013
스마트폰 해킹과 대응 @KGC2013스마트폰 해킹과 대응 @KGC2013
스마트폰 해킹과 대응 @KGC2013
 
코멘트(업로드)
코멘트(업로드)코멘트(업로드)
코멘트(업로드)
 
Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)Android Security Internals (Lesson 3)
Android Security Internals (Lesson 3)
 
Vim 강의
Vim 강의Vim 강의
Vim 강의
 
Pt
PtPt
Pt
 
인디게임 먹어버려 리뷰설명서
인디게임 먹어버려 리뷰설명서인디게임 먹어버려 리뷰설명서
인디게임 먹어버려 리뷰설명서
 
한국적인 이미지
한국적인 이미지한국적인 이미지
한국적인 이미지
 
Unity best practices (2013)
Unity best practices (2013)Unity best practices (2013)
Unity best practices (2013)
 
Pet Alone
Pet AlonePet Alone
Pet Alone
 
Unity 3d study #2
Unity 3d study #2Unity 3d study #2
Unity 3d study #2
 
NDC 2012 이은석 - 고전게임 화이트데이 디렉터 포스트모템
NDC 2012 이은석 - 고전게임 화이트데이 디렉터 포스트모템NDC 2012 이은석 - 고전게임 화이트데이 디렉터 포스트모템
NDC 2012 이은석 - 고전게임 화이트데이 디렉터 포스트모템
 
신세계 마케팅전략 (No.3)8_ight seconds(제출용)
신세계 마케팅전략 (No.3)8_ight seconds(제출용)신세계 마케팅전략 (No.3)8_ight seconds(제출용)
신세계 마케팅전략 (No.3)8_ight seconds(제출용)
 
[5Rocks] 게임데이터 분석 세미나
[5Rocks] 게임데이터 분석 세미나[5Rocks] 게임데이터 분석 세미나
[5Rocks] 게임데이터 분석 세미나
 
Dll 분석 방법
Dll 분석 방법Dll 분석 방법
Dll 분석 방법
 

Incognito 2015 - 게임 리소스 추출과 변조 - 오효근