• Welcome to Valhalla Legends Archive.
 

Safe to ignore 0x4A (SID_OPTIONALWORK) and 0x4C (SID_REQUIREDWORK)?

Started by Don Cullen, February 14, 2007, 04:54 PM

Previous topic - Next topic

rabbit

ExtraWork isn't stored on the computer, so the client is notified that there is some library that exists on the Battle.net FTP server.  It's the client's choice to download ExtraWork or not, since it's OPTIONAL.  The packet just says "hey, client, just FYI this file exists".  and you're allowed to uncheck the box.  That's what OPTIONAL means.

Quote from: Kyro on February 17, 2007, 12:57 PM
No need to get hostile, rabbit. He was trying to help. Even if he was inaccurate.
There is, though, because he keeps trying to group himself with people who are much more experienced than him and rather dislike him, as well as stating blatant opinion (which is always wrong anyway) as though it were set-in-stone fact.
Grif: Yeah, and the people in the red states are mad because the people in the blue states are mean to them and want them to pay money for roads and schools instead of cool things like NASCAR and shotguns.  Also, there's something about ketchup in there.

Don Cullen

Perhaps you're right. But does hostility really solve anything? Perhaps it'd be more efficient if one were to correct his mistaken assumptions without any hostility and move on. If he chooses to reject those corrections, that would be his choice however misguided it would be. Someone once said: 'to focus on petty annoyances gives them even greater power to disrupt; to disregard them eventually renders their disruptions to virtually nil.'

In other words, it'd be more efficient to correct him, and if the correction was rejected, disregard it and move on. Less stress that way.
Regards,
Don
-------

Don't wonder why people suddenly are hostile when you treat them the way they shouldn't be- it's called 'Mutual Respect'.

Barabajagal

You guys are confusing yourselves... Extrawork is the function inside either the RequiredWork or OptionalWork DLLs. Required is, as the name suggests, required for the client to run (though there is currently no check to see if it is run), and optional is optional. Required probably patches, optional returns system specs to the server. In any case, I can't get my program to run IX86FarSight.dll (downloaded from RequiredWork).

Edit: According to the Dependancy Walker, ExtraWork's entry point in the FarSight dll is 0x0000102D. I have no knowledge about calling DLLs like this [dynamically i guess?]. I guess I'll google it and see if I can find out what's wrong here. I would google it if I knew what it was called. Looks like I'm at the mercy of the kindness of people on this board to either show me how to do it or tell me what the hell it's called.

UserLoser

Running ExtraWork on a bot isn't trival, let me explain.  After a successful version/cdkey check an ExtraWork request may be received from the server.  Here's the catch, most bots immediately send the logon request right after the successful version/cdkey check.  Well, the ExtraWork response has to be submitted before a logon request.  So if you wanted to run ExtraWork on a bot, you should delay about a second or so after a version/cdkey challenge to see if the server is sending a request to the client, if so, do not logon until the ExtraWork MPQ is downloaded, extracted, executed, and the results are sent to the server.

Also, many ExtraWork DLLs perform memory searching/patching procedures and return the results to a private Blizzard server.  I don't know about you, but I wouldn't want to run a function to see if I'm hacking or not on my bot because it'll probably get you banned if the memory locations are not accessible/invalid values at that address

RealityRipple:  There's a special structure that you have to pass over to ExtraWork aswell as language-specific things too.  You're probably not using the right calling convention either

Barabajagal

So it's similar to lockdown? In that case, I'll just download it and ignore it. I had it set up so that when it receives either SID_REQUIREDWORK or SID_OPTIONALWORK, it pauses all BNCS packet transfer (except for SID_GETFILETIME), since i figured it wouldn't like me logging in, then sending the response. So your recommendation is to completely ignore the DLL once it's been downloaded (and extracted from the mpq)?

Don Cullen

Good point, UserLoser. In that case, I'll just disregard them.
Regards,
Don
-------

Don't wonder why people suddenly are hostile when you treat them the way they shouldn't be- it's called 'Mutual Respect'.

Don Cullen

Quote from: [RealityRipple] on February 17, 2007, 04:20 PM
So it's similar to lockdown? In that case, I'll just download it and ignore it. I had it set up so that when it receives either SID_REQUIREDWORK or SID_OPTIONALWORK, it pauses all BNCS packet transfer (except for SID_GETFILETIME), since i figured it wouldn't like me logging in, then sending the response. So your recommendation is to completely ignore the DLL once it's been downloaded (and extracted from the mpq)?

Is it really neccessary to download them if you're not going to do anything with the downloaded files? I much doubt they cross-examine between your FTP activities and your BNET activities.

[Edit: apologies for double post- I forgot I already replied to an earlier post.]
Regards,
Don
-------

Don't wonder why people suddenly are hostile when you treat them the way they shouldn't be- it's called 'Mutual Respect'.

Barabajagal

It's the idea of Perfect Emulation... My bot can connect to any client in the exact style that the original client connects (except for a few things, like downloading the TOS and handling UDP packets). I even have it check for and download ads (the downloading is optional, but it uses the ad check instead of SID_NULL to keep the connection alive).

UserLoser

Quote from: [RealityRipple] on February 17, 2007, 04:39 PM
It's the idea of Perfect Emulation... My bot can connect to any client in the exact style that the original client connects (except for a few things, like downloading the TOS and handling UDP packets). I even have it check for and download ads (the downloading is optional, but it uses the ad check instead of SID_NULL to keep the connection alive).

Good job, now please let this thread that were answered several days ago die aswell as others


Ante

Quote from: rabbit on February 17, 2007, 12:52 PM
see: everybody hates you

that's what you think. from most people's point of view, ur the only one hatin brew
Efficiency is the Key to Productivity, and
Productivity is the Key to Success.

Don Cullen

Quote from: Ante on February 18, 2007, 11:22 AM
Quote from: rabbit on February 17, 2007, 12:52 PM
see: everybody hates you

that's what you think. from most people's point of view, ur the only one hatin brew

My question has already been answered. Bickering does not solve anything. It only serves to further inflame the forums.

Mod Request: Would you mind closing this thread? My question has been answered. Thanks in advance. :) 

Edit: Closed it myself. I didn't know I could lock my own threads. Heh.
Regards,
Don
-------

Don't wonder why people suddenly are hostile when you treat them the way they shouldn't be- it's called 'Mutual Respect'.

|