• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Futureproofing MQ2 from basic detection (1 Viewer)

Lolthnemesis

New member
Joined
Aug 8, 2006
RedCents
SoE is probably working on some way to detect if MQ2 is even just simply running (someone here has claimed that they got busted in this way, although they did not specify if they had "Allow Sysinfo Send" on) with no macros or hacks whatsoever, or possibly have some way to detect even using the map which shows you all the players and mobs on it. It is obvious that even if MQ2 was made completely invisible to their servers, that performing actions such as warping, and/or chain zoning, always have a significant potential to get you busted, if for no other reason that a GM Admin could simply be completely invisible to you, and monitor your actions.

That being said, it would be a shame if MQ2 was inherently a risk just to RUN (which is what SoE WANTS PEOPLE TO BELIEVE, they want you to be afraid), even with absolutely no plugins, with just the map features, or /tar. Especially if you've already been caught and suspended, and you are at a sever risk from that point forward, you don't want to risk losing 7 years of work into your account. Many people have Fear Of The Unkown (FOTU). We MUST assume that everything is being done in their power to make what may currently be regarded as "tin foil hat stuff", as future reality. I propose a solution to this, it would involve adopting what is being developed for WoW, namely Antifreeze, a highly advanced rootkit stealth, and memory cloaking technology.

MQ2 utilizes dll injection to modify the client memory of Everquest. Now, IF their is some kind of checksum comparative monitoring toll being developed or implemented, then eventually YOU WILL be caught, as they begin to identify certain "signatures" of memory modification that doesn't match up with what the server is expecting to "see" from the client.

In my own words I will outline what I would like to see someone code for an "Everquest version" of Antifreeze, for use with MQ2 but not being limited to just that.

1) Make the MQ2 (or any) executeable INVISIBLE and NON-EXISTANT in windows task manager, as well as to all other parts of the operating system.

2) HIDE the DLL file that MQ2 injects into Everquest so that only the correct number of DLL files would be shown as running should SoE develop some kind of detection technology that will be able to see the prescence of the MQ2 dll even with no plugins running. Again, in my opinion, we must ASSUME that this is either already a reality, or WILL be a reality in the future. Remember, SoE is never going to tell you exactly what you were doing and when, that resulted you in getting busted, they want everyone to fear the unknown, which is BS.

3) CLOAK the modified memory within Everquest, so that ANY altered memory is NOT visible serverside, the server ONLY sees what it is supposed to see, which is a "legitimate" EQ client running with no 3rd party software. Of course this will NOT work with serverside hacks obviously, I'm not stupid and I'm not advocating that it's possible to make MQ2 safe to use with whatever hack you want, that is obviously impossible, I am only talking about securing and ensuring the safety of its use with very limited, client side only plugins, that do not show obvious characteristics of non-standard play within the game to those who are watching you secretly.

Please see this document or download the one I have attached:
http://www.rootkit.com/redirect.php?http://www.rootkit.com/vault/hoglund/GregSlidesWoWHack.rar

Supervisor.sys rootkit:

No Process
No Injected DLL
No Injection Thread
No Attached Debugger
No Scannable Memory
No Code Patches

Utilizes Shadow Branching:

*Instead of a detour, it uses hardware breakpoints to hijack the main program thread --A hook on any number of points (i.e., PspGetContext) can protect the context from being read from the usermode

*Uses memory cloaking to protect injected code --Page table manipulations and/or timely memory movements.

To validate the points I have made, I include this:

"I just wrote some code to hide a process from the OS. In essence this allows MQ (or any other process for that matter) to run completely undetectable by all Win32 API; e.g. PSApi and the ToolHelp API can't detect the process and even System Internals Process Explorer and the Windows Task Manager can't detect the cloaked process(es).

Since SoE doesn't check client side running processes this isn't a big deal right now. Just so the rest of you know, however, we do have this stealth ability if we ever need it."
--------------------------------------------------------------------------
"Well, before they start checking processes, they are going to check the DLLs loaded into the eq client. Can you cloak that API?"
--------------------------------------------------------------------------
"dont_know_at_all - Yes. I can cloak a DLL from a process that has loaded it - including making calls to open handles to it fail; e.g. GetProcAddress( hDLL, "") - without unloading the DLL. Note, however, that this will cause the DLL to be unloadable until reboot.


We can also do the following:

* Freeze individual threads in a process.

* Completely freeze a process from running (this is done by freezing all its threads which I already made a UI for).

* Make a process forget about which Threads it has running without terminating them.

* Make a process forget about which Handles it has opened without closing them.

Not to toot my own horn.. but... it's pretty major; especially for worm authors and the current flurry of RPC exploits as delivery mechanisms."
--------------------------------------------------------------------------
"I would think you could detour this api, just like any other and prevent it from reporting the names of dll's you dont want known, AMadMonk and I had talked about doing this before but never got around to trying it."
--------------------------------------------------------------------------
"Detour'ing GetProcAddress() is very easy. Unfortunately it's equally easy to tell if you have detoured it.

... but, why stop at GetProcAddress? You're going to have to hook all the API that PSAPI and Tool Help use because they can get module lists and find you that was as well. THEN you're going to have to hook the NtDll.dll calls that provide the same features - but I know that most of you can't write (or figure out) code at this level so you may as well not even try. Oh, did I mention that you may want to check the PEB?

So, it would seem that you're best bet is to forget about detouring GetProcAddress() - that's script kiddie talk. If SoE wanted to find you then they'd start with calling IsDebuggerPresent(). That'll probably weed out half of the attempts right there; or at least those that can't get/use SoftIce, write their own inter-process breakpoint/read/write memory app, kernel mode inspection API, or injection debugger."

http://www.macroquest2.com/phpBB2/v...previous&sid=36da2b6fd6ba3f8213f1bf19169f0afd
 
Funny thing about WOW it only scans 32bit apps. A nice 64 bit MQ2 type of prog could hide there pretty well.
 
Every move that SoE makes leads me to further beleive that stopping MQer's is no where near the top of their priority list. Particulalry the reduction in their GM staff, and the way they love to release new content that is packed full of new exploits before addressing the old ones.

Every now and then some individual, or group of individuals, are banned as a demonstration and an attempt to deter people from cheating. It's very scary and omg the sky is falling and all that good stuff, but it has never worried me in the slightest, nor has it ever stopped me from warping, chainzoning, macroing, and speedhacking as i saw fit. and it never will.

Bottom line is sony is only interested in money, and we have numbers on our side. Just try not to make a nuisance of yourself and you wont be made an example.
 
In my own words I will outline what I would like to see someone code

Sorry this is a little out of my programming abilities atm. Im still learning the ins and outs. But I will get these skills I know it. Lol. Sony will rue the day I get my skills up
 
someoneorsomething said:
Sorry this is a little out of my programming abilities atm. Im still learning the ins and outs. But I will get these skills I know it. Lol. Sony will rue the day I get my skills up
Exactly what a cash-cow would want =)
 
IF their is some kind of checksum comparative monitoring toll being developed or implemented

SoE have been doing this for years already, if you look at the the code in MQ2 it gets around it by providing the correct checksums (see __MemChecker 0-4).

If SoE really wanted to clamp down on MQ they would of done it years ago, they are only interested in people exploiting the game and they do a pretty shit job at that too.

Notwithstanding MQ2 is open source, it wouldn't be hard for them to work out some rather trivial methods of shutting it down, of which the only piece of crap they implemented over the years was a memory checker, pfft they don't really care.

They will work on the basis of reports of exploiters or catching someone by scanning logs of events, all the stealth in the world isn't going to hide you from that.

They simply don't give a shit if you have MQ running, they give a shit when someone reports or find logs of unatural behaviour. The server logs is what's gonna get you in the end.
 
Basically what you're asking for is a root kit. SoE already got busted for that by the courts.
Also you are talking about an open source project. No matter what Sony tries to do the minds of the devs and those devoted to MQ2 will always come out ahead and fix what is broken.
 
Sony's best plan of action is to make as much as possible have a server side check. Again, something they could do at any point in time.
 
majin1970 said:
Sony's best plan of action is to make as much as possible have a server side check. Again, something they could do at any point in time.
But still something that you can bypass via sending packets as instead of jumping straight to the mob, yo jump around within a 25 degree arc towards the mob at less than the distance check would be in order to set off the flag.
Like i said, no matter what you do, there is always a way around it.
 
Futureproofing MQ2 from basic detection

Users who are viewing this thread

Back
Top