Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (754)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (842)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Jail time for cheat programmers in China  (Read 2273 times)
0 Members and 1 Guest are viewing this topic.
Offline CommanderKeith
« Posted 2018-01-16 23:17:53 »

Here's an interesting article about cheating in Playerunknown's Battleground:
https://www.bloomberg.com/news/articles/2018-01-16/tencent-cracks-down-on-cheats-in-world-s-top-selling-video-game
I was surprised to hear that the Chinese police jail cheating programmers who make aim bots and so on.

Quote
Ahead of its official debut this year, the biggest gaming company on the planet has enlisted Chinese police to root out the underground rings that make and sell cheat software. It’s helped law enforcement agents uncover at least 30 cases and arrest 120 people suspected of designing programs that confer unfair advantages from X-Ray vision (see-through walls) to auto-targeting (uncannily accurate snipers). Those convicted in the past have done jail time.

How strange. I think they've forgotten that it's just a game!


Offline KevinWorkman

« JGO Plugged Duke »


Medals: 283
Projects: 12
Exp: 12 years


HappyCoding.io - Coding Tutorials!


« Reply #1 - Posted 2018-01-17 03:56:02 »

This is really interesting. I wonder what they were actually charged with?

Now if we could only crack down on fake review bots, people who steal other people's art, and advertisement spammers...

HappyCoding.io - Coding Tutorials!
Happy Coding forum - Come say hello!
Offline CommanderKeith
« Reply #2 - Posted 2018-01-17 04:11:08 »

Haha, yes I agree. I'm surprised that they even try to crack down on cheating in games, one of the least important and troublesome problems compared with outright piracy, spamming, and worse things. Surely cheating in games is best fixed by the game maker, not the police. You'd think the police would have more important issues to deal with.


Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline CommanderKeith
« Reply #3 - Posted 2018-01-17 04:20:17 »

I made an aim bot in java once using the Robot class that took a screenshot and scanned for a red bandana pixel of the counterstrike terrorist player, and clicked on his head repeatedly if it was somewhere in the middle of the screen. Only useful for that one character, and it slowed the game down. But it was fun. Strange to think that it could be illegal.
I was impressed at @Slyth2727's more advanced hacking too, he did some amazing things in battlefield if I remember.

Offline princec

« JGO Spiffy Duke »


Medals: 1030
Projects: 3
Exp: 20 years


Eh? Who? What? ... Me?


« Reply #4 - Posted 2018-01-17 08:48:14 »

China has a more rigorously enforced social contract than the West. They take a dim view of things which we let go as morally indefensible but technically legal.

Cas Smiley

Offline ral0r2

Junior Devvie


Medals: 2



« Reply #5 - Posted 2018-01-17 09:45:42 »

I made an aim bot in java once using the Robot class that took a screenshot and scanned for a red bandana pixel of the counterstrike terrorist player, and clicked on his head repeatedly if it was somewhere in the middle of the screen. Only useful for that one character, and it slowed the game down. But it was fun. Strange to think that it could be illegal.
I was impressed at @Slyth2727's more advanced hacking too, he did some amazing things in battlefield if I remember.

Did this really work? Cheesy I was once thinking about doing this too (for fun and experimental stuff ofc) but I was like the robot class is probably way to simple to achieve that.
Offline CommanderKeith
« Reply #6 - Posted 2018-01-17 11:17:33 »

@ral0r, yes the Robot class can do screenshots and mouse clicks without having the focus, it's quite neat. Unfortunately I've lost the code, but by detecting that 'print screen' was pressed so the system clipboard was detected to contain an image, not text, the program showed a Swing JFrame with the in-game screen shot which allowed you to select a list of pixel colours that would be searched by the aim bot program. Then you click run and the Robot class would trigger the mouse-clicks in game when it detected the pixel colours on screen. Worked reasonably well unless the helmet or bandanna colour was also contained elsewhere in the environment.
https://docs.oracle.com/javase/7/docs/api/java/awt/Robot.html

I think Slyth2727 used C++ and some programming memory-viewing tools to actually find the memory in the Battlefield program that contained the enemy player coordinates and paint them onscreen over the top of the running game! Next level.

@princec interesting about that social aspect. Maybe it's also related to the 'great firewall of china' government digital control. Still, in a country as big as China with all of the developing country problems they must face, I would never guess that the police would waste resources arresting game cheats. Is there a pettier crime?

Offline Slyth2727
« Reply #7 - Posted 2018-01-18 01:07:20 »

I actually used C# for developing the hack before I went internal. Then I used C++. Used IDA Pro for reversing for the most part, the majority of it was static analysis and I've found that to be pretty standard with these big games. I personally wouldn't suggest Java but hey if you can get it to read and write to memory you could do something. I've never used Java for anything like that though.

You basically have to reconstruct the pointer paths and class structures. Once you can figure out how things are spaced in memory you can determine where in memory to read/write info. Using the game's projection matrix and some transforms you can go from the world to screen coordinates. So for a basic wall hack you would need to figure out where in memory the player list is, probably reconstruct the player class until you find the position variable, and also find the projection matrix. Then it's just some math and rendering and voila. You can choose to overlay the screen or hook into the game's DirectX/OpenGL context.
Offline ral0r2

Junior Devvie


Medals: 2



« Reply #8 - Posted 2018-01-18 09:08:48 »

@CommanderKeith I think that sounds pretty intresting. What I always thought might also be neat about the Java robot class is that it is harder to detect by anticheat tools because it is running in a JVM. This is just an assumption though could you elaborate a little bit on that?

Maybe it doesn't make a difference though if you are writing from a Java or a C++  programm to the memory because the anticheat tool detects the memory manipulation. In that case Java would probably not have any advantage compared to any other programs but since you are not manipulating the memory with the robot class do you think it would be harder to detect compared to cheat programs not running in a virtual machine?

Note: I'm an completly newb in that area my assumptions might be completly wrong Cheesy
Offline orange451

JGO Kernel


Medals: 363
Projects: 6
Exp: 6 years


Your face? Your ass? What's the difference?


« Reply #9 - Posted 2018-01-18 18:24:24 »

Tried to read memory with java from a game using BattlEye. Couldn't get the memory to even read with that anticheat. Gave up after that.

First Recon. A java made online first person shooter!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Slyth2727
« Reply #10 - Posted 2018-01-19 00:58:51 »

@CommanderKeith I think that sounds pretty intresting. What I always thought might also be neat about the Java robot class is that it is harder to detect by anticheat tools because it is running in a JVM. This is just an assumption though could you elaborate a little bit on that?

Maybe it doesn't make a difference though if you are writing from a Java or a C++  programm to the memory because the anticheat tool detects the memory manipulation. In that case Java would probably not have any advantage compared to any other programs but since you are not manipulating the memory with the robot class do you think it would be harder to detect compared to cheat programs not running in a virtual machine?

Note: I'm an completly newb in that area my assumptions might be completly wrong Cheesy

Java wouldn't have an advantage with the Robot class because the anti cheats generally only look in the local program. If it detects unnatural/impossible mouse movement it may trigger. This can happen regardless of the method of input manipulation you use if you're not careful. I don't see any situations where the JVM would provide an advantage and a few where it would be a disadvantage. For one, the manipulation of memory has to occur rather quickly sometimes and works best with native running code in my experience.
That's why I ended up using C++ (not to be mistaken for C++/CLI which does run on the .NET VM), switching from C#. C++ also allows me to compile to a native DLL and inject that which is a much cleaner and more useful method. So personally I wouldn't suggest Java for anything beyond basic external memory reading. But take that with a grain of salt. I'm sure somewhere, somehow some nutjob has somehow managed to compile JVM bytecode into a native DLL and inject it.... (edit: ffs seriously internet http://www.ikvm.net/)

The coolest thing I ever saw was some dude that compiled a C++ DLL that contained his hack, injected that into the game, then managed to call functions in the DLL from an external C# GUI he used to modify the settings. Blew my mind and I never really fully understood how he got that working. This way he was able to have a fully external quickly responding overlay that wouldn't be screenshot by any anti cheats with all the benefits of an internal hack. From my understanding he messed with window's IPC in order to achieve that. Honestly not really sure how useful it was but it was pretty neat.
Offline geometrydash

Junior Newbie





« Reply #11 - Posted 2018-01-19 09:11:49 »

I hate china. This a all of bitch.

Offline CommanderKeith
« Reply #12 - Posted 2018-01-19 10:42:38 »

Tried to read memory with java from a game using BattlEye. Couldn't get the memory to even read with that anticheat. Gave up after that.

Interesting, that's heavy duty. I checked their website and BattleEye say that 1.5 million PUBG cheaters have been banned.
https://twitter.com/TheBattlEye

Offline ral0r2

Junior Devvie


Medals: 2



« Reply #13 - Posted 2018-01-19 14:52:17 »

@Slyth2727 thanks for sharing your thoughts on this! Very interesting.
Pages: [1]
  ignore  |  Print  
 
 

 
DesertCoockie (33 views)
2018-05-13 18:23:11

nelsongames (75 views)
2018-04-24 18:15:36

nelsongames (70 views)
2018-04-24 18:14:32

ivj94 (752 views)
2018-03-24 14:47:39

ivj94 (82 views)
2018-03-24 14:46:31

ivj94 (622 views)
2018-03-24 14:43:53

Solater (98 views)
2018-03-17 05:04:08

nelsongames (179 views)
2018-03-05 17:56:34

Gornova (405 views)
2018-03-02 22:15:33

buddyBro (1065 views)
2018-02-28 16:59:18
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!