Zor's Blog
Seeing Sharp

Archive for the ‘Reverse Engineering’ Category

Grunt Auth Misconceptions

May 26, 2012

This is in response to this blog post. First of all, the “NLS” protocol mentioned in the post has basically nothing to do with Battle.net. It is the so-called Grunt protocol. This protocol is a hacky, ad-hoc protocol that most Blizzard games used up until around World of Warcraft’s Wrath of the Lich King expansion. [...]

Minimalistic XNA Library

December 1, 2010

This is probably illegal in every possible way. Anyhow… This is a minimalistic version of the Microsoft XNA framework. It contains only the math classes from the original Microsoft.Xna.Framework.dll, and a few helper classes. It is, therefore, completely platform-agnostic, and compiles in Any CPU by default. For Encore (I’ll write a post about that later), [...]

Regarding APB

September 16, 2010

I see some people still drop by #apb-dev now and then. For your information; no, we’re no longer touching the game. We haven’t been for a looong time, as we all lost interest pretty early. And seeing how the game is officially dead, it won’t be much fun now, either way. This makes for a [...]

WoW 4.x: Anti-Reversing

August 11, 2010

18:39:19 | Hasbro: [12:37] I can come up with several reasons why the recent changes all have some “kill private servers” intention behind them 18:39:20 | Hasbro: post that? Update: Added some more stuff. So per request: Battle.net: One might argue that it’s simply a new and innovative serialization platform, but I do believe there’s [...]

Structural Packet Parsing

July 16, 2010

Okay, I actually came up with this idea like a week ago, but I’ll post about it anyway. I’ve been thinking lately that I’m tired of the conventional ways of parsing packets, because: Manually indenting the output sucks. Manually typing out an unknown value counter sucks. The code gets way too long. Optimally, you’d automatically [...]

WoW’s SRP Implementation

July 3, 2010

This is old news (if it can even be called news), but I figured I’d post about it anyway. While talking to Derex about WoW’s authentication scheme, we stumbled upon several faults in the game’s SRP implementation. First of all, S is calculated incorrectly at the client: S = (B – (k * ((g ^ [...]

WoW 3.3.5: Anti-Debugging

June 24, 2010

Check out this paper on SC2′s anti-debugging. It’s pretty much the same thing WoW has incorporated (quite expected). Of course, there’re also the Warden changes. It appears Warden now interfaces with Battle.net.dll – another move one would expect from Blizzard, in light of the design decisions they made for SC2. This one, I don’t know [...]

APB: Beta Over, Reversing Progress

June 20, 2010

Update: We all pretty much lost interest, and stopped working on it. The beta ended yesterday. Me and a few others have been actively reversing the game, seeking to emulate it. What we know so far: All Game Client to/from Login Server opcodes (GC2LS/LS2GC). All Game Client to/from World Server opcodes (GC2WS/WS2GC). How to connect [...]

APB: In Beta

June 13, 2010

Purchased All Points Bulletin yesterday, so I’ll be playing the “beta” the next couple of days. I’ll most likely post a short review of sorts eventually. Of course, reverse engineering is mandatory.

WoW 4.0.0: Build 12065 Opcodes

May 20, 2010

12065 was pushed to the test realms today, and I’ve been taking a peek into it (while I should be sleeping, damn it); seemingly, opcode randomization did not happen this time. Yes, this means that 12025 and 12065 share the same opcode IDs. Sample client code: ClientServices__RegisterHandler(0x5D62u, sub_833F30, 0); v0 = sub_5FB4A0(“EnableVoiceChat”); It is completely [...]

Follow

Get every new post delivered to your Inbox.