Here's my situation. I run an Internet Cafe. I want to offer SC2 to the customers that walk in here, but most of them haven't purchased SC2 (which is why they're coming to a cafe - they want to try it out).
I can purchase the game and make several Battlenet IDs to go along with them, but the problem is, I can't walk over to the computer and log the customer in every time someone wants to play SC2. And obviously, I can't GIVE them the Battlenet ID and PW to everyone. What I'd like to have is a launcher of some sort that does this: I create a txt file or something that has the battlenet ID and PW. When I launch the launcher, it reads the ID and PW, and passes it to Battlenet, without the customer ever seeing it. So, the customer clicks the SC2 Launcher icon, after some loading, the next thing they see, is the game menu (since they've already logged in silently to Battlenet).
Is this something that can be done?
Thanks so much.
You can install SC2, log in once, then deny SC2 acces to the internet. This way the next time you open SC2 you can enter your battlenet account name (not password) and you get an option to play in offline mode. You can play the singleplayer campaign and play versus the AI.
Corruptedonce: i am not sure but hmmm that seems impossible right now cause that little program you would need would practically enter game type in account and password on itself and login but without showing that and this is the actual point which seems impossible since you can't hide the game itself for the login thing to work...
EDIT: also such a program would be done in haste if it would actually be considered and customers could try to breach in and try to find out acc and pass ... (if you really want such a program you should make it urself cause the guy making it for you could easily make so that when you put acc and pass it would send to his email that information and yet still work doing its job for you and you would even give out the other acc and pass making that guy "rich" in sc2 accounts.
A program like this is possible. What you would first have to do is to check out whether sc2 has command line parameters that allows you to insert a username and password and then start the game with the user logged in and in the menus. This would make the program easier to create.
If sc2 does not have this kind of functionality you would have to break into the process and directly inject the username and password (while the process was at the login screen), then press the login button. However Blizzard may find this as against their EULA, so i would advise against it.
Another thing you can do is create a program which will run in the background and simulate keystrokes when the login screen is active. However, this method would expose the username to your client. It may also be prone to glitches.
Your biggest problem would be clients attempting to find the text file that contains your sc2 accounts and passwords, however a clever programmer would be able to protect against this.
Zakushocause the guy making it for you could easily make so that when you put acc and pass it would send to his email that information and yet still work doing its job for you and you would even give out the other acc and pass making that guy "rich" in sc2 accounts.
A programmer who did this would find themselves without a job, and unable to find any other job in the future.
djordje your wrong... first of all you think the guy making the program would really care? you think his boss would? dude... his boss might actually do stuff like that and command line parameters ... that was just random wasn't it? if that was possible sc1 would have had it long time ago and it does not... and also blizzard would not find this against their EULA cause they would have no reason... it is just a program that would risk his acc and pass and blizzard would just not help the person if he wanted to risk his own account/s like that so blizzard would not involve into this.
Thanks to everyone for your input.
Djordje - I've already created a macro (with AutoIT) that basically logins in the battlenet ID and password by setting a sleep time. The problem with it, as you pointed out, is if there's a patch, or a machine that begins to load slower or faster, then it gets out of whack. It's also a real possibility that the password actually gets thrown in the clear text field for ID if the timing is off. Not a solid solution and it would actually make me more paranoid than just standing behind everyone and typing in the info myself.
If there is a launcher created and it's reading off of a text file, I'm not worried. I've hardened every one of the computers in the LAN through software and personal tweaks. There's no way to open explorer, my computer, any folder, command prompt, etc. I've even removed the START button off of all the machines. For internet access, I've blocked the ability to download, right-click save-as, etc. The only thing you can do on my computers is click the icons that I've prepared on the desktop (which are almost all shortcuts to batch files on partitions that are inaccessible to the user) and browse the internet. USB devices are rejected by the operating system. I've taken out the cd rom and floppy. BIOS is password protected. The computer case is trip wired with a pocket air horn in case anyone tries to open it.
This isn't pertinent to this conversation, but I was a desktop engineer for a major telecommunications company for 7 years. Last year, I held a contest for 1 month. Anyone that could hack into my machine would get $1,000.00 in cash. They could try anything, except open the case (and if they did that, they'd get shot.)
Anyways, back to my request. I know there's the worry that the developer could easily re-route the info to a different server as well as the Battlenet server. There's a lot of testing that's done before I put anything onto my desktops and DeepFreeze them. I would hope that any of you clever folks that comes up with this, would have it in code form so I can compile it myself.
I don't think there's anyone that's comes to this forum that would be so silly to double click an EXE file without looking at the code first. That's just ridiculous.
Well, if you are resorting to macros, there is a program, Jitbit Macro Recorder if I remember right, that allows you to include "if" and "while" conditions within it, also being able to differentiate pixel colours. It would be possible to simply program it in a while loop such that only when it detects X pixel will it key in the login details.
That said, it is not at all secure as users can easily open up the macro so while it might not be the exact solution, a program doing something similar or being able to hide it should do.
You could also try WinApi messages. If SC2 use "normal" edit and button controls for their login window than it shouldn't be that hard to make application that would first wait till login window would be created and than put into it login data using only winapi messages , not emulating pressing keys.
I don't have time right now to try it out through.
To make this all you would need is a bit of knowledge about winapi edit and button controls , winapi functions that look for window/control handle and functions to send pressed button event or string input + program that would show you all window handles used by SC2 (to know what to look for).
Ofc Blizzard could have used their own custom controls that would not allow that.
just for the recordsc2 is build with flash ui no winapi will ever work on that ui.
Good to see you back vernam7 ;)
DivadYugGood to see you back vernam7 ;)
Ok, that was a little spooky (i am "always" around watching....) - sounds like my ex-girlfriend. And that didn't end well.
And by the way, Vernam7 has so graciously accepted this challenge and is furiously coding a solution as we speak!
To all, I very much appreciate your input. Very informative and helpful. I'm glad I found this forum.
Just wanted to point out that I have no developer skills whatsoever. The macro I put together was just stuff that I found through Google searches and pieced them together till they worked.
I'm confident that Vernam has a much more polished solution than the mickey mouse thing I've got going.
When I think about this macro I've got, I picture a room filled with gears and levers...and as soon as the alarm clock hits 6 o'clock, a ball falls down the spiral tube, hits some dominoes, then the last domino hits a mouse trap, the mouse trap hits a toaster, the bread pops out of the toaster and hits a kookoo clock, the kookoo clock hits the light switch...then voila...the lights are on. That's the solution I have going right now. :(
as i told you Corruptedonce if its doable it will be done, the "problem" is to do this without modifying anything and pass those informations to the game in memmory where Blizzard had made sure its hard very hard to read to protect the other way arround, reading usernames and passwords from in the game to avoide liking, so also the other way arround pass those informations at the correct time isnt that simple!
anyway we will continue this in pm
should i close this topic or not?
Yes, this should be closed now. I believe you are working on the proper solution.
sc2 is the best game but making it battle.net dependent sucks. I think sc2 cant be used by internet cafes...
i will let this open cause i had allready other "hot" projects under construction and this will take some more time...maybe untill i do something someone else makes 1st so wouldnt be fair to close the topic on second thought.
this and the next weeks are too buzy for me and in sc2 life and in rl with lots of ongoing projects at the same time, i must keep my priorities. ;-)
Sorry for my bad English, in our country we learn it from the books.
I think Corruptedonce should try to ask a support from the blizzard ^^), isn't he? May be they already have any solution for that problem ^^).
If you were logged in you would gain 3 XP for posting a reply.
Support Nibbits by linking to us:
Managed by WM Innovations
More from Nibbits: WarCraft 3 Maps | StarCraft Maps | StarCraft 2 Maps | Gamer Configs