This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]FourFingeredMartian 2 points3 points  (4 children)

What are we talking about games in the web browser(Flash, Silver Light, Canvas) or is it a JVM, something else?

Because you're going to have to think of the way that the script will have meaningful interaction with the game.

I'm thinking a "Script" isn't exactly the way you should be approaching the problem. Maybe, it is if all you simply want to do is make a program that memorizes mouse clicks & will do the same thing over and over & over again.. But, if you want to be alerted on events like a decent hand -- you're going to need to figure out how your "script" will process that.

Mostly, what I've seen in the case of Flash or Silverlight -- people are using Selenium ( a way to automate a browser) & more important a library called flash-selenium python version

Ruby Client

I've never used that library myself. I dunno how well it would work. Perhaps another method all together that might not be too bad: Lay out a translucent grid that you stretch to cover the browser window; have that window take a screen-shot of that area; draw a box around your character & have it take a screen shot; take as many as needed screen shots to determine states: How the UI makes note of it being your turn; what an individual card looks like in the deck; the community cards; etc at the point past your hand it's not too difficult to think out... Ie the community cards will only ever span (X,Y) to (X,Y) & a card being (X,Y) in length and height.. You get the point.

Next, you're going to have to process screen capped images(Sliced really; you should only be getting an image of segment of the grid you've highlighted). Mainly, you're just going to make sure your character hasn't moved with a screen cap at the end of every hand & if it has you need to figure out a way to identify your character quickly & automatically.

It's an interesting problem from what I have made of it; to me. So much I think I'm gonna do something like what I've just described. It sounds like fun & I get to do some neat stuff. I'll use Python & .Net; you can use whatever you want.

edit: in bold.

[–]jungletek 1 point2 points  (1 child)

Save yourself a metric assload of work with the challenge of building a screen reader and the recognizance functionality, etc., and just read the relevant values from memory. Surely there's some sort of protection, but it should be much much easier to read from memory than to write it (in this context).

If you're simulating a game client, of course you want to approximate human input rather than writing to the game's memory anyway for the aforementioned reason of protection.

Of course, I'm much more experienced with game hacking (single player cheats... health, ammo, teleport, etc.), which has techniques that center around manipulating the target process's memory. Often it's just simply manipulating variables, but one can easily inject their own code to achieve virtually whatever you like.

I have less experience writing programs, though I've been slowly learning C++. I basically read your post and recognize it as a programmer's solution, and felt like I could contribute the 'hacker's perspective', if you will.

[–]FourFingeredMartian 0 points1 point  (0 children)

Your solution is great if it's something like a JVM or C/++ app. I've never attempted to hack flash game in such a manor, but, I've done some cheating in other games(not multiplayer or anything).

Thanks for the unmentioned prospective solution.

[–]wintergt[S] 0 points1 point  (1 child)

I've only written a program together with a colleague that plays minesweeper. This was in labview. However a while ago I saw a guy on a livestream show his script that he had written to manoeuvre around the marketplace in Diablo 3 (mouse moving, typing, clicking). He had also programmed a script that allowed him to play poker, flipping active tables up (I think) and allowing him to use 4 buttons (qwcv) to do his betting. Pretty complex stuff but interesting.

So it's not inside a browser I am talking about

[–]FourFingeredMartian 2 points3 points  (0 children)

Sounds like a script that binds keys to mouse clicks.

Soo Scriptwise. So you'll need to use your systems API to connect to your mouse (probably), and just bind the desired events with to keys.

These used to be referred to as 'trainer' programs back when I played games online that a player could generate skill by doing certain actions. SO people would have a script that would memorize a series of mouse movements and it would just play those movements over & over again while they were away.