Explanation of Gameguard/Maplestory CRC Bypasses and UCEs

On domingo, 5 de septiembre de 2010 0 comentarios

So, I figured that I'd give back to the community what I've learned about the theory behind CRCs and UCEs.

So I was asked the other day, "If I’ve got a UCE, do I need CRC bypasses?” Well, here is the short answer: yes. Here is the long answer…


First, you need to understand what is being bypassed in the first place.

Cyclic Redundancy Check (CRC):
A CRC is defined by Wikipedia
as: “a type of function that takes as input a data stream of any length and produces as output a value of a certain fixed size.” In English, this means that there is a special computer
algorithm (CRC) that takes a part of memory and doing its CRC magic comes up with a value. For example, lets assume that this is a part of maplestory's memory:

00 80 3C 37 90 89

Now lets assume that a highly oversimplified CRC check takes the first number of each pair of numbers and adds them together to get the value. That means that it adds 0+8+3+3+9+8 together to get 31. Now lets assume that a Tool that gives god mode (this is just an example that won't work) needs to change the 37 to a 52. So now the memory would look like this:

00 80 3C 52 90 89

So when the CRC comes around and checks that area of memory, it does its magic, 0+8+3+5+9+8 to get 33. Uh oh, it just did a check and found the CRC value of 31 had been changed to 33. This tells the CRC that the program's memory has been changed. In this case, you'd be caught. We don't want that to happen, now do we? No. So the solution to avoid being caught by the CRC is to have a CRC bypass.

Ok, so now that we know what a CRC is, we can learn how a CRC bypass works. Every case will be different, so I'll explain the theory behind a CRC bypass. A CRC bypass is a function, program, etc. that somehow or another manages to completely avoid the CRC being called. The bypass could either do that or trick the CRC into thinking it is checking the running process, when it is really checking a backup of the running process (possibly stored on the hard drive in a file). Again, this is an extremely general explanation, there are MANY, MANY ways a CRC bypass can be implemented.


Gameguard:
Gameguard does two things. 1) It checks all the running processes on the computer for anything that has been flagged "tool" by the gameguard people. 2) It performs a CRC on maplestory's memory.
To combat these two things, Toolers have implemented two things. 1) UCE and 2) GGCRC bypass.

For those of you who don't even know what a UCE is, it is an undetected cheat engine. Typically, this is compiled using DarkByte's Cheat Engine source code. Basically, people find out what is detected by gameguard, and they either remove/change it from the original Cheat Engine code. Then, it becomes undetected, hence a UCE.

So, with a UCE, the first thing gameguard does is defeated. The second thing, checking maplestory's memory with a CRC, is defeated with a CRC bypass as described above. This is usually pretty difficult, which is why it takes a couple days for one to come out. Note: because gameguard is using its own CRC on the maplestory.exe process, the bypass is called a gameguard cyclic redundancy check (GGCRC).


Maplestory:
This one's pretty easy to explain in light of what has been discussed already. Basically, maplestory checks its own memory with a CRC. So to bypass maplestory's CRC, we use what is called a maplestory cyclic redundancy check (MSCRC).


Ok, so back to the original question. You need an undetected cheat engine AND a maplestory CRC bypass AND a gameguard CRC bypass. Simply put, you can run the UCE while maplestory is up, without a GGCRC bypass nor MSCRC bypass running, and not be caught. But you can't USE the UCE without being caught. That's pretty useless to have a cheat engine that you can't use. So, that's the reason we need a GGCRC bypass and a MSCRC bypass.

Woah! That was a lot of stuff thrown at you all at once. I know. It took a while to really understand it all. If you don't get it the first time, then you are a normal human being. It took me a LONG time to really get this stuff, but I figured I'd make it as simple for you guys as i could. If you don't get it, then read over this stuff again, browse forums for people asking questions you might have, and if you have searched everywhere, then ask a question. Hit the thanks button if you found anything in this useful.

0 comentarios:

Publicar un comentario