Given the recent hack to the blog , and also given the recent news of the decompiled Eve Online client, it seemed like a good time to go over some of the ways in which a virtual world gets hacked. , 그리고 최근의 블로그에 해킹을 감안할 때, 디컴파일 이브 온라인은 클라이언트의 최근 소식을 부여, 끝났어 가고 좋은 시간 같았 일부는 가상 세계를 얻는 방법 중 해킹.
The interesting thing, of course, is that all the hacks I am going to talk about are actually not hacking the virtual world at all; they instead attack the client , which is your window into the world, and also your waldo , your means of exercising control over what happens in that world. 흥미로운 것은 물론, 모든 해킹 사실에 대해 전혀 이야기하지 않습니다 가상 세계를 해킹하려고하는 것입니다; 그들이 대신 세계로 여러분의 창문이다 클라이언트, 그리고 귀하의 Waldo, 네 뜻의 공격 그게 세상에서 일어나는 운동을 제어할 수있습니다. And that’s because… 그 이유는 ...
The client is in the hands of the enemy. 클라이언트는 적의 수중에있다.
– The Laws of Online World Design - 온라인 세계 디자인의 법칙
You’ve probably heard that before — I wasn’t the first one to say it, but it constantly gets misattributed to me. 당신은 아마 그 전에는 - 내가 말을 처음 들었 하나 아니었지만 끊임없이 저한 테에게 misattributed. That particular phrasing may have originated with Kelton Flinn , but I am sure many of us came up with it independently. 특정 말씨 켈튼 플린 만들어 냈을지도 모르지만, 분명 우리의 많은 오전 그걸로 독립적으로 내놓았다.
The first thing to realize is that encryption of the data stream isn’t going to stop anyone serious . 아무도 심각한 그만두지 않을 실현하는 첫 번째 것은 데이터 스트림의 암호화입니다.
Here’s the diagrammatic way to look at it. 여기 봐 방식의 도표.
- You generate data. 데이터를 생성할 수있습니다.
- You put it in a packet. 당신은 패킷에 넣어.
- You encrypt the packet. 당신은 패킷을 암호화합니다.
- You send it over the wire. 당신은 철조망 너머로 보내주시기 바랍니다.
- It gets to a user’s computer. 그것은 사용자의 컴퓨터에 도달했다.
- The client reads the encrypted packet. 클라이언트는 암호화된 패킷을 읽습니다.
- The client decrypts the packet. 클라이언트가 패킷을 해독합니다.
- The client does something. 클라이언트가 뭔가 않습니다.
Really, anything after “it gets to a user’s computer” is in the hands of the enemy. 정말, 아무 뒤 "그것은 사용자의 컴퓨터"에 도달하면 적군의 손에있다. So that means that you are encrypting the packets, handing the user a decrypter called a client , and thinking that encryption helps. 그래서 그건 당신이, decrypter 클라이언트라는 사용자에게 건네주었고, 패킷을 암호화하고 암호화가 생각하는 의미 도움이됩니다.
The hackers can choose to do is read the incoming packets out of client memory after decryption, instead of sniffing the stream directly. 해커 할 클라이언트 메모리의 해독 이후 들어오는 패킷을 읽고, 대신 스트림 킁킁의 직접 선택할 수있습니다. But really, all this does is raise the bar a bit on the hacking skills required. 하지만 실제로는,이 모든 술집 해킹 기술을 필요에 약간의 인상은 않습니다.
To top it off, encryption can be slow, if you’re talking a real-time sort of situation. Real - Time을 정렬하면 상황의 말을하는지, 암호화, 속도가 느려질 수있습니다 그만 가기. You may not want to spend the time in encrypting if you need a fast response. 빠른 응답이 필요한 경우 암호화에 시간을 보내고 싶어하지 않을 수도있습니다.
Packet stream sniffing: getting more info than you should 패킷 스트림을 킁킁 : 당신보다 점점 더 많은 정보를해야한다
This one was a problem early on in EverQuest and is still an issue in many FPSes. 에버퀘스트에서이 문제를 조기에 여전히 많은 FPSes에 문제가있다. In short, you should not rely on the client to filter information. 간단히 말해서, 당신이 필터 정보를 클라이언트에 의존해서는 안된다. Assume that anything that comes down the wire is visible to them. 아래 아무것도 가정 철사가 나오면 그것들을 볼 수있습니다. We speak of “culling” the data that is sent down, basically reducing the set. 우리가 그 데이터를 "학살"의 아래로 보내집니다, 기본적으로 세트를 줄여 말한다. Even on the client, we do culling, so that we don’t draw everything in the dataset the client knows about. 클라이언트 심지어에, 우리는 그렇게 우리는 고객에 대해 알고있는 모든 데이터에 학살 무승부하지 않습니다. In an FPS, you typically cannot do a lot of server-side culling — everyone on the map is “visible” to the client, because everyone is moving so fast that you can’t really do any line of sight culling on the server. 왜냐하면 모두가 너무 빨라 정말 시력 서버에 학살의 모든 라인을 할 수 없어 이동하는 매에서는 일반적 - 측면 학살 -지도에 모두 "클라이언트가 보이는", 서버의 많은 것을 할 수 없다고했다.
In EQ, the way this manifested was every mob in the zone was sent to the client. EQ 설정에서, 방법이 적하 목록의 모든 폭도였다 영역 클라이언트로 전송했다. This meant a hack could make a minimap that showed every mob. 이것은 모든 폭도 보여주는 minimap을 해킹할 수있다. You could see repops at a distance. 당신은 거리에서 repops 볼 수있습니다. But wait, it gets worse. 하지만, 더 나쁜건 기다. You could also see everything they carried . 당신은 그들이 수행이 모든 것을 볼 수있습니다. So you could cherry-pick the good loot in advance. 그래서 당신은 체리 - 사전에 좋은 전리품을 선택하십시오.
Packet filtering: dropping stuff you shouldn’t 패킷 필터링 : 물건을 포기하면 안됩니다
Sometimes the server tells you things you just don’t want to hear. 가끔은 서버 방금 당신이이 일을 듣고 싶지 않아. One such thing might be “no, you can’t go there.” This is the classic wall hack. "아니, 당신이 거기로 가야 하나 그런 일은있을 수 없다."이것은 고전적인 벽에 해킹이다. Usually, you move, and do a local client-side collision check. 일반적으로, 당신은, 이동 및 로컬 클라이언트 - 측면 충돌을 확인합니다. You also send off a request to the server for your movement, so that the server can verify whether you can go there (after all, you might have — horrors — hacked your client to not do collision checks). 또한 운동을 위해 서버로, 서버의 여부 그래서 거기 (모든 후, 당신이있습니다 - 공포 - 갈 수 있는지 확인 요청을 보낼 수) 클라이언트가 충돌하지 않는 수표를 해킹했다. The server will send back a “no, you are still over here” message, resulting in being rubberbanded back to where you were. 서버가 "안돼, 넌 아직 메시지가 여기에"이상, 그 결과 다시 보낼 것이다 너라면 rubberbanded 고향이다.
Unless you simply ignore that message, and merrily keep going. 만약 당신이 단순히, 그리고 그 메시지를 무시하고 계속 즐겁게했다. This will allow you to explore all of the static dataset that your client has loaded. 이렇게하면 귀하의 클라이언트가 로드된 모든 정적 데이터 세트의 탐험하실 수있습니다. You won’t see any newly streamed objects in the right place, of course, because as far as the server is concerned, you didn’t move. 언제든지 새로은 바로 이곳에서, 물론, 멀리 개체를 스트리밍으로 인해 서버가 걱정이다, 당신은 움직이지 않았다는 표시되지 않습니다.
Simply dropping packets can be pretty powerful if the engineers were sloppy and relied on the client to correct itself after being told it was naughty. 감성적 이었어 경우 엔지니어와 클라이언트에 의존하기만하면 저절로 떨어진 후 매우 강력한 패킷 수 장난스런 말했다. A common way you can use this to greater advantage relies on the fact that we often do let the client be semi-autonomous about movement. 당신은 큰 장점이 사용할 수있는 일반적인 방법은 사실 우리가 흔히 클라이언트 세미 - 움직임에 대해 자율되게 할에 의존하고있다. You can move around on the client with far more granularity and with much more rapid changes in direction than you can on the server. 당신은 클라이언트에 훨씬 더 세분과 방향에 서버보다 훨씬 더 빠른 변화와 함께 할 수 주위에 이동할 수있습니다. Instead of tracking your every move, we instead subsample it, basically. 대신, 우리는 대신 subsample, 기본적으로 당신의 일거수 일투족을 추적했다. We rely on simple metrics like “you can’t move that far that fast” to verify whether or not you are in fact cheating in your movement. 우리와 같은 단순한 통계에 의존하는 "당신이 지금까지 그렇게 빨리는"부정 행위 사실 여부에 상관없이 귀하의 움직임에 있는지 확인을 이동할 수없습니다.
But if you collided with something, were told to bounce back, but then moved to a position on the other side of the wall, the next movement might fall within acceptable parameters, and then you may have moved through the wall. 그러나 만약 당신이 뭔가와 충돌해 다시 반송,하지만 그때 벽 '의 반대편에 위치로 이동, 다음 운동을 허용 매개 변수 내에서, 그리고 당신은 벽을 통해 이동 할 수있습니다 버릴 까봐 걱정했다.
Packet altering: changing what you hear 패킷 변경 : 어떤 소리가 들리 변경
Alternatively, you could actually alter the packet before it gets interpreted. 전에 해석을 얻습니다 아니면, 당신은 실제로 패킷을 변경할 수있습니다. This basically lets you get the client to dance to your tune. 이것은 기본적으로 귀하의 선율에 춤을 추는 클라이언트를 가져올 수있습니다. Maybe you want a nice big waypoint on top of your quest target. 어쩌면 당신 탐구 대상 가기에 좋은 큰 중간점 싶어요. Maybe you want to change what zone the client thinks it is loading you into in order to let you tour somewhere you normally cannot get to. 아마 당신은 영역 클라이언트를 위해 당신 어디에 접근할 수없습니다 투어를하게 정상적으로 읽어들이는 무슨 생각을 바꾸고 싶어.
Representation altering: changing what you see 대표 변경 : 당신은 무엇을보고 변경
Messing with the data stream isn’t the only thing within your power. 데이터 스트림 당신의 힘을 내에서 유일하게 덤비는 것은 아니다. Lots of folks in FPSes did things to change the visibility level of what was around them. FPSes에서 무엇이 그들을 주위에 있던 많은 사람의 빈도 수준을 변경하는 일들을 했어. Replace all the walls with transparent textures, and you will have a much better idea of where everyone is. 투명 텍스처를 가진 모든 벽 바꾸기, 당신은 어디에 모두의 더 나은 생각한다. Replace small meshes with big ones, or camo-colored textures with bright pink ones, and everything gets easier to spot. 덩치 큰 것들, 혹은 위장 작은 메쉬를 바꾸기 - 밝은 핑크 컬러 것들과 질감, 그리고 모든 자리를 쉽게 얻습니다.
Triggering 트리거링
Of course, why give yourself the work? 물론 이죠, 왜 스스로 일을주지? Just have the client automatically send back responses instantly when it gets a particular packet or message. 그냥 때 자동으로 즉시 특정 패킷이나 메시지를 다시 보내 클라이언트의 반응을 얻습니다. This form of automated triggers is, of course, a key element in building bots. 자동화의이 형태, 물론입니다 트리거, 빌딩 봇에서 핵심적인 요소입니다. In an FPS, autoaim is an example. 한 매 있음, autoaim 예입니다. The accuracy of something happening with a trigger is far far higher than what it is when a mere human is at the wheel. 뭔가의 정확성 방아쇠 일어나는 먼 인간에 불과 때 바퀴에서 무엇보다 높은 수준이다.
Spamming 스팸
A lot of times, the servers aren’t hardened properly against receiving more commands in a given span of time than they expect. 그들이 기대하는 시간보다 더 많은 서버가 제대로 주어진 시간의 명령을 받고 상대로 중앙선 더 굳어진되지 않습니다. Letting the client handle cooldown timers would be an example of a mistake like this; if you can control the upstream, you can bypass the cooldowns. 클라이언트 cooldown 타이머 손잡이를 알립니다 이런 실수의 본보기가 될 수 없으며하면 무시할 수있습니다 cooldowns 업스트림 제어할 수있습니다.

The Warden and other tricks 소장님과 다른 트릭
Of course, there’s countermeasures. 물론, 거기에 대응. The countermeasure used by Blizzard (and by Steam, for that matter) is to run a separate process that monitors whether the main app is being messed with. 는 대책을 블리자드에 의해 스팀 (그리고, 그 문제를) 사용하는 별도의 프로세스를 모니터링하고 주요 애플 리케이션이 엉망이되고 여부를 실행하는 것입니다. This is a common practice in Korea as well, and there’s FPS servers that require you to run Punkbuster , etc. From the WoW TOS: 이 한국에서뿐만 아니라 일반적인 관행이고, 이미 그 Punkbuster, TOS에서 와우 등 실행하도록 요구 매 서버 :
# WHEN RUNNING, THE PROGRAM MAY MONITOR YOUR COMPUTER’S RANDOM ACCESS MEMORY (RAM) AND/OR CPU PROCESSES FOR UNAUTHORIZED THIRD PARTY PROGRAMS RUNNING CONCURRENTLY WITH WORLD OF WARCRAFT. # 때 실행중인 프로그램이있습니다 모니터는 컴퓨터의 랜덤 액세스 메모리 (RAM) 및 / 또는 CPU가 프로세스를 무단으로 제 3 자에게 오브 워크 래프트의 세계와 동시에 프로그램을 실행합니다. AN “UNAUTHORIZED THIRD PARTY PROGRAM” AS USED HEREIN SHALL BE DEFINED AS ANY THIRD PARTY SOFTWARE, INCLUDING WITHOUT LIMITATION ANY “ADDON” OR “MOD,” THAT IN BLIZZARD’S SOLE DETERMINATION: (i) ENABLES OR FACILITATES CHEATING OF ANY TYPE; (ii) ALLOWS USERS TO MODIFY OR HACK THE WORLD OF WARCRAFT INTERFACE, ENVIRONMENT, AND/OR EXPERIENCE IN ANY WAY NOT EXPRESSLY AUTHORIZED BY BLIZZARD; OR (iii) INTERCEPTS, “MINES,” OR OTHERWISE COLLECTS INFORMATION FROM OR THROUGH THE PROGRAM. ""여기로 사용하여 타사 소프트웨어를 제한없이 포함한 "Addon"또는 "모드"로 정의되어야한다 타사의 프로그램을 무단으로 그 눈보라의 단독 결정에는 : (i) 모든 종류의 부정 행위를 촉진 또는있게; (ii) 미국 오브 워크 래프트의 인터페이스를 수정하거나, 환경, 그리고 전 세계 해킹 / 어떤 방법 안에 경험이나 눈보라에 의해 명시적으로 허가된 사용자 수있습니다; 또는 (iii) 도청, "광산,"또는 다른 방법을 통해 수집하는 정보 또는 프로그램입니다. IN THE EVENT THAT THE PROGRAM DETECTS AN UNAUTHORIZED THIRD PARTY PROGRAM, BLIZZARD MAY (a) COMMUNICATE INFORMATION BACK TO BLIZZARD, INCLUDING WITHOUT LIMITATION YOUR ACCOUNT NAME, DETAILS ABOUT THE UNAUTHORIZED THIRD PARTY PROGRAM DETECTED, AND THE TIME AND DATE THE UNAUTHORIZED THIRD PARTY PROGRAM WAS DETECTED; AND/OR (b) EXERCISE ANY OR ALL OF ITS RIGHTS UNDER SECTION 6 OF THIS AGREEMENT, WITH OR WITHOUT PRIOR NOTICE TO THE USER. 그 프로그램을 무단으로 타사의 프로그램, 눈보라가있습니다 (1) 소통 정보를 다시 눈보라 제한없이 계정 이름을 포함하여, 타사의 프로그램에 대한 세부 정보를 무단으로 감지, 그리고 시간과 날짜는 무단으로 제 3 자에게 프로그램을 감지하면 이벤트에 검출됐다; 또는 사전 통보없이 본 계약의 제 6 언더파 및 / 또는 (b) 운동을 어느 하나 또는 모두의 권리를 사용자에게있습니다.
How does it do this? 이 일을 어떻게합니까? Well, actually, by using many of the same techniques as described above . 음, 사실, 위에서 설명한 것과 동일한 기술을 많이 사용하여. Basically, it kind of hacks you . 기본적으로, 그것을 일종의 해킹을 당신의. It checks to see if stuff is running in WoW’s memory space. 물건의 WoW의 경우 메모리 공간에서 실행되어 있는지 확인합니다. It checks the title bars of any window you have open and compares the text of that window title (hashed) against a blacklist of cheating programs titlebars (also hashed). () titlebars 부정 프로그램 (도) 해시 해시 블랙리스트를 상대로 열려 있고 그 창 제목의 텍스트를 비교해서 어떤 윈도우의 제목 표시줄을 확인합니다. And it actually checks some of the code of every program you have running and checks to see if that code is on its blacklist too. 그리고 실제로도 블랙리스트에 자사에있다면 그 코드를 볼 수있는 몇 가지 검사를 실행하고 모든 프로그램의 코드를 확인합니다.
Needless to say, the Warden is also in the hands of the enemy ; although I wouldn’t have the slightest clue on how to do it, you could theoretically either hack the Warden itself, or hack the apps that the Warden is checking, so that they display false or different information. 말할 필요도없이, 소장님도 적군의 손에있다는; 비록 내가 당신을 이론적으로도 소장님이 그 자체, 또는 해킹 애플 리케이션은 소장, 그래서 호랑 확인 할 방법에 대해 전혀하지 않았을 그들이 허위 또는 서로 다른 정보를 표시합니다. At that point, it’s an arms race. 그 시점에서, 그것은 군비 경쟁.
There’s already programs to watch the Warden watching you , for example. 이미 예를 들어 당신이 지켜보고 소장님이 보는 프로그램. And Blizzard’s response was to make a bunch of different versions of Warden , so it’s harder to find and watch; and also to — surprise, encrypt the stuff sent back. 그리고 블리자드의 반응은 소장님의 다른 버전의 무리하게하는, 그래서 그것을 찾기 위해 열심히하고 시계 였어;과 - 놀랍게도, 또한 물건을 암호화하여 다시 보냈습니다. Of course, you could go back to square one, packet sniff, and filter out the Warden reports… la di da. 물론, 당신은 다시 원점으로 돌아 하나, 패킷 스니핑, 갈 수와 소장님이 보고서를 걸러내 ... 라 디 다. Or make the cheat app polymorphic itself. 아니면 속임수하게 애플 리케이션 자체를 다형. Or… 아니면 ...
It’s all very Orwellian — but players seem to value a game environment with less cheats more than they value their privacy, though admittedly, freaking out over an app reading window titlebars and then not actually telling anyone about it unless it finds a match may seem a bit paranoid. 그들보다 비록 보면, 애플 리케이션을 읽는 동안 창 titlebars 놀라니 그리고 아무도 말하지 않은 사실은 그들의 사생활을 값을 모두 아주 Orwellian -하지만 선수들과 경기를 덜 환경 가치가 일치하지 않는 것 같아 그것에 대해 더 많은 속임수나 발견있습니다 약간의 편집증이 보인다. Then again, what if someone hacked a popular WoW fansite or guide site and stuck a banned string in the titlebar? 그럼 다시, 만약 누군가가 인기의 WoW Fansite 또는 가이드 사이트를 해킹해서 금지 문자열은 titlebar에 붙어? Could happen… 그럴 수 ...

In the end, you just cannot trust the client . 결국, 당신은 그저 클라이언트 믿을 수 없다. Everything Warden protects against fundamentally needs to be guarded against on the server. 소장님이 근본적으로 반대 서버에 모든 경비가 필요 방지해줍니다. In the Web world, you just have to assume that the browser could be any damn thing at all — after all, I could write a simple web browser in about five minutes. 웹 세상에서 당신이 방금 브라우저 전혀 귀신아 수 가정해야 할 것 - 모든 후, 약 5 분 안에 간단한 웹 브라우저를 쓸 수있습니다. And in the future, we may well have to design our games with this sort of capability in mind. 현재와 미래에, 우리는 잘 염두에두고 이런 종류의 능력을 우리의 게임을 디자인 할 수있습니다.
Take the example of the small herb to harvest. 수확의 작은 약초의 예를 보자. The hacks described would do things like auto-detect that the herb is around, auto-collect it, pick it out of a crowded area. 자동차는 해킹과 같은 일을 할 것이라고 - 약초 주변, 자동차 - 혼잡한 지역의 골라야 수집 탐지 설명했다. The “game” lies in it being hard to find or see. "게임"하드 찾지 못하거나보고되고있다. In the security world, this is called “security through obscurity,” and it’s generally assumed to be a waste of time. 보안 업계에서는이 "보안 모호을 통해,"라고하며 일반적으로 시간의 낭비로 간주. (This also raises the question of why we are building games out of something like herb-finding.) The secure way is for the client to not even know. (이 또한 우리가 왜 약초처럼 경기 중에 무언가의 건물의 질문 - 찾는 올립니다.) 안전한 방법은 클라이언트에 대해 알지도 못하는 것입니다. Have real herbs and fake herbs use the exact same client-side representation in every way. 진짜 약초와 똑같은 가짜 약초를 갖고있는 모든 방법으로 클라이언트 - 측면 표현을 사용합니다. Only the server knows the difference. 그 차이를 아는 유일한 서버.
We don’t generally do this because, well, we want to have static data and dynamic data we stream. 왜냐면, 음, 우리는 우리의 정적 데이터와 동적 데이터 스트림을 갖고 싶어 우리가 일반적으로이 일을하지 않습니다. We want to be able to precache most of the world, and only stream down the stuff that can change, like herbs you can pick up. 우리는 전 세계 대부분의 precache 수 있기를, 그리고 그것을 변경할 수있는 물건들이 널 데리러 수있는 약초로만 이동 가능한 스트림을 원하는 것처럼. It’s cheaper in bandwidth, by a lot; it offers better performance; you get much faster load times. 그것은 대역폭에서 많이 의해 값싸고; 더 나은 성능을 제공한다; 네가 훨씬 빠르게로드 번.
In other words, we create these vulnerabilities for ourselves because, well, we want to trust the client. 왜냐면, 음, 우리는 클라이언트가 신뢰하고 싶지 즉, 우리 자신에 대한 이러한 취약점을 만들 수있습니다.
In the end, the most hack-free virtual world is likely to be the one with completely open source clients , completely public and open protocols, and no attempts to cheat by having the client do any heavy lifting. 결국, 가장 해킹 - 무료 가상 세계를 완전히 오픈 소스 클라이언트, 공공 및 개방형 프로토콜과 완전히 하나 말하면, 클라이언트를 통해 속임수도없고 시도 어떤 무거운 짐을 할 가능성이 높다. In fact, WoW itself has taken very big strides towards this with their open UI system, which enables officially sanctioned plug-ins which do quite a lot of the things that were formerly done by hacks. 사실, 와우 자체가이쪽으로 공식적으로 인정받지 플러그 - 이는 기존의 해킹에 의해 수행했던 것들을 상당히 많이 할 수 있도록 기능을 오픈 시스템의 UI와 매우 큰 보폭으로 촬영했다. The reason this will likely be safer is simply because when the terminal is dumb, you are forced to put the smarts on the server — and the server is a lot easier to make secure. 때문에 벙어리 때 터미널이 될 가능성이 안전한 이유는 간단합니다, 당신은 서버에서 영리하다 강제로하는 -과 서버 많은 안전하게 쉽습니다.
The challenges, however, are not small if you want to really go whole hog and make everything driven by the server. 만약 당신이 정말로 철저히 가서는 모든 서버에서 구동하게하려는 도전하지만, 작은하지 않습니다. Everything would need to be streamed. 다 필요 스트리밍된다. Everything sent to the server would need to be verified. 모든 서버를 검증해야 할 것이라고했다. And game designers would have to assume they could not rely at all on anything in the visuals as a gameplay mechanic, nor on anything related to speed of cognitive processes (eg, time spent “figuring something out” would not be a good mechanic, since many things could be offloaded to the client, providing instant reaction times). 게임에서 게임 디자이너들이 모두 정비공으로 비주얼 에선 아무것도에 의존하지 않고 버릴 것들을인지 과정의 (예를 들어, 속도에 관련된 시간 ""좋은 정비사, 이후되지 않을 것이라고 가정해야 할 뭔가가 있으니까 보낸 것이 많은 것들을 클라이언트에게, 인스턴트 반응 시간을 제공하는) offloaded 수있다. It would all make for a far more asynchronous world. 그것은 모두 비동기식 훨씬 더 세상을 보이게 될 것입니다.
But that design constraint might also push towards designing cleverer gameplay, rather than gameplay that can be completely undone by knowing where stuff is, picking important stuff out from the crap, and going clicky-clicky on something fast enough. 하지만 그 디자인을 제약도 완전히 취소할 수 있는지 확인하여 게임 플레이보다는 똑똑 게임 플레이를 설계할 수있는쪽으로 밀어 물건입니다, 헛소리, 중요한 물건을 밖에서가는 clicky - 뭔가에 충분히 빠르지 clicky 따기.
A pipe-dream? 담뱃대 - 꿈? Probably. 아마도. We loves us our herb-hunting, our big graphics, our lagless client-side movement, and we seem quite willing to put up with being spied on in exchange for knowing that only bad-ass hackers are cheating, instead of damn near everyone. 우리 사랑은 우리 약초 - 사냥, 우리의 큰 그래픽, 우리 lagless 클라이언트 - 측면 움직임, 그리고 우리 내면에 꿈틀대는 아주 나쁜 - 엉덩이에만 해커가 바람을 피우고, 대신 근처에 누구나 아는 빌어먹을을 교환 옅보는 기꺼이 것으로 보인다. 
도서관에와 듀이 십진 시스템을 경험했다. 그는 그의 모든 소스 온라인의 모습과 많이 잘라의 자신의 논문에 대한 -와 - 붙여넣으 않았다. 어떤 이유로 들어,이 자신의 교사를 허용했다 .... 나는 내가 찐따 graHow 동안에 MMOGiven은 최근 블로그에 해킹, 또한, 디컴파일 이브 온라인 클라이언트의 최근 소식을 부여, 끝났어 가고 좋은 시간 같았 처음 일을하고있을 거라고 생각 몇 가지 방법에의 가상 세계는 해킹을 얻습니다. 흥미로운 것은 물론, 그 모든 해킹
[...] Raph 코스터 당신 MMOs 해킹 방법에 대한 간략한 자습서를 제공합니다. [...]
del.icio.us / 에모리 4월 18Raph의 웹 사이트»방법, 예를에 대한 MMOThere 이미 프로그램을 보면서, 소장님이 시계를 해킹했다. 그리고 블리자드의 반응은 소장님의 다른 버전의 무리하게하는, 그래서 그것을 찾기 위해 열심히하고 시계 였어;과 - 놀랍게도, 또한 물건을 암호화하여 다시 보냈습니다. 의
[...] 부정 (물론 예외도있다, 예를 들면) Digg에 걸릴 우려의 게임을보다 덜 사회적 소프트웨어가 될 수도있습니다. 그 이것에 대해 더 많은 관심을 들어, 최근 Raph 코스터 MMOGs에서 해킹과 부정의 정교한 시험을했다. [...]
[...] 게임 디자이너 Raph 코스터 울티마 (온라인과 지금의 명성에 의해 Metaplace 블로그 게시물) 방법을 알려주겠다! [...]
뉴스를 품목 혹시 MMO에 벽을 뚫고 다닐 싶었던 적 있니? 어떻게 telepathically 보이지 않는 것들에 대해 매우, 매우 눈에 띄는 영역, 또는 만들에있는 모든 좋은 상품의 위치 감각? 게임 디자이너 Raph 코스터 Ablog postby 울티마 (온라인과 지금의 명성을 Metaplace) 방법을 알려주겠다! 보면, 코스터별로 세부로 이동하지 않습니다. 또한, 그는 개발자들이 문제를 해킹, 해커에게 비밀을 피할 수 있도록 도움말을 안으로주지 않을려고하고 있어요. 이건
[...] 클라이언트 뭔가 않습니다. 목 브이? ?? CAC는 넌? n 공동 일까? Tham 사의 KH? O를 끈팬티 깡통 치 TI는? 마 : http://www.raphkoster.com/2008/04/17 ... 오 - 해킹 - - MMO / [...]
[...], 그리고 그것이 framerates 안티가 실행되지 않습니다 - Punkbuster 또는 월드 오브 워크 래프트의 Warden.The 제품의 부정 행위와 같은 도구는 현재 베타 테스트 단계에있는 것이다. 당신은 베타 버전을 업데이 트하거나 가입할 수 [...]
어떤 논의가 이전 궁금 [...] 그래서 제가 URL.http의 모든 사용자가 요청 매개 변수 처넣었어 지구상에서 : / / www.raphkoster.com/2008/04/17/ho ... ck-an-mmo/If 당신이 게임에 로그인할, 기본적으로 당신은 그냥 URL을 조작하여 언제 영역을 방문할 수있습니다. 만약 [...]
[...] 어떻게 MMO 4 월 17 일 해킹 2008 (방문 객수 5387 번) 태그 : 부정, 에버퀘스트, 해킹, 온라인 세계 디자인의 법률, 폭스바겐 디자인, 폭스바겐 기술, 와우 [...]
[...] 위치를 낳다 ...) 클라이언트로했다. 상기의 잘봤어 코스터 Raph 인실로, 게임 클라이언트는 "적군"의 손 안에있습니다 : offloads dev의 클라이언트에 수술, 인공 지능에 대해 CPU 사이클을 위해 [...] 구하려고 할 때마다