[–] ▶ /vghg/ - Video Game Hacking General Anonymous 09/21/17 (Thu) 00:38:51 No. 796213 >>796421 >>796857 [Watch Thread] [Show All Posts]
>What do I need to know before getting started
x86 assembly is mandatory in order to get anywhere.
Basic understanding of programming.
You must be able to explain functions, structs, conditions and pointers by heart in order to start hacking games
Basic debugging knowledge.
>What will I be able to do if I learn this?
You will be able to cheat in video games, automate game play by making bots and have a greater understanding of software.
>Books
Game Hacking: Developing Autonomous Bots for Online Games <- read this if you want to jump into game hacking
https://www.nostarch.com/gamehacking
Gray Hat Python <- read this if you want to know how hacking tools work and how to build them
https://www.nostarch.com/ghpython.htm
Reversing: Secrets of Reverse Engineering <- read this if you want a detailed understanding of reverse engineering
>Tools
>Memory scanners
http://www.cheatengine.org/
>Debuggers
https://www.immunityinc.com/products/debugger/
http://www.ollydbg.de/
https://www.sourceware.org/gdb/
>Automation software
https://www.autoitscript.com/site/autoit/
https://autohotkey.com/
note most programming languages have at least one library that does GUI automation.
>Discord
https://discord.gg/w7PZXUw
>Tips
Play around with games that are <100MB as they don't require long memory scans and have a shorter turn around time if you fail.
Play around with this stuff for a good month in order to create natural intuition. Game hacking is 90% trial and failure.
Don't cheat online games if you're new to this stuff.
▶ Anonymous 09/21/17 (Thu) 01:48:28 No. 796240
▶ Anonymous 09/21/17 (Thu) 02:16:16 No. 796252 >>796264 >>796328 >>796424
why do you link to books nigger. i got into game hacking by reading a 5 paragraph text file on how to use t-search and make "le code caves". or is this just reddit where we talk about which book to buy all day
▶ Anonymous 09/21/17 (Thu) 02:17:13 No. 796253
and _do_ cheat online if you're new. most games are shit, and most anti cheat does fuck all. just avoid something like counter strike source if you have no idea what you're doing
▶ Anonymous 09/21/17 (Thu) 02:55:32 No. 796264
>>796252
Some people learn differently. Most tutorials online for example just don't work for me. Probably because ADHD but regardless (not op).
▶ Anonymous 09/21/17 (Thu) 06:03:08 No. 796328 >>796417 >>796420 >>796444 >>796479 >>796557
>>796252
Books help you by teaching you everything from the very basic to the most complicated.
My experience with forum tutorials is that they are extremely shallow and the text is prefixed with a paragraph of the author ego boosting themselves by calling you a pleb and that they are the best people ever.
Its also my experience that these hacking sites are full of plebs that don't even know what a linked list is or why its superior to an array. If you have a basic understanding of graph theory, you could gather basic understanding of how to get your characters X,Y,Z. Monster X, Y, Z and make a bot that people are willing to pay for
▶ Anonymous 09/21/17 (Thu) 06:24:05 No. 796334
death to all with anime avatars
▶ Anonymous 09/21/17 (Thu) 10:42:20 No. 796417 >>796458
>>796328
>linked list
>superior to anything
are you trying to bamboozle me????????
▶ Anonymous 09/21/17 (Thu) 10:46:56 No. 796420 >>796458
>>796328
>linked list is ... superior to an array
Please leave and don't come back.
▶ Anonymous 09/21/17 (Thu) 10:47:46 No. 796421
>>796213 (OP)
>what do i need to know before getting started
>bunch of autistic shit
literally false, if you just want to make a cheat watch youtube videos on how2useCE and youre done
▶ Anonymous 09/21/17 (Thu) 10:51:05 No. 796424
>>796252
This.
No need for learning all that jazz if all you wanna do is cheat a bit.
▶ Anonymous 09/21/17 (Thu) 11:48:18 No. 796438 >>796439
How do anticheat systems work?
▶ Anonymous 09/21/17 (Thu) 11:58:42 No. 796440 >>796442 >>796450
>>796439
is it possible to stop cheaters without resorting to something like this?
▶ Anonymous 09/21/17 (Thu) 11:59:26 No. 796442 >>796443
>>796440
yes. dont play on public servers
▶ Anonymous 09/21/17 (Thu) 12:02:34 No. 796443
>>796442
i meant is it possible to make anticheat software that is not malware?
▶ Anonymous 09/21/17 (Thu) 12:20:17 No. 796444 >>796458
▶ Anonymous 09/21/17 (Thu) 12:59:58 No. 796450
>>796440
Have an admin of friendly human flesh on your server and ban people.
▶ Anonymous 09/21/17 (Thu) 13:54:36 No. 796458 >>796459 >>796474 >>796477 >>805274
>>796417
>>796420
Linked lists are superior for programs that require a lot of inserting and deleting of data.
I have a puzzle for you my dudes.
You try to allocate memory for 10 arrays that take up 100mb each.
You are running your program on a computer with 2gb of memory.
The program keeps giving you a seg fault and crashing once it eaches 80% mem usage, why is this?
hint how is the memory of an array arranged in memory.
>>796444
Well its nice to see that there is one person that understands that every data structure has a purpose.
▶ Anonymous 09/21/17 (Thu) 14:00:54 No. 796459 >>796467
>>796458
>linked lists are better for this special edge case
let me quote the original statement:
>Its also my experience that these hacking sites are full of plebs that don't even know what a linked list is or why its superior to an array.
kys
▶ Anonymous 09/21/17 (Thu) 14:26:02 No. 796467 >>796472
>>796459
>Inserting and deleting of data is an edge case
>I sage to show disagreement with posts
▶ sage sager 09/21/17 (Thu) 14:37:48 No. 796472
▶ Anonymous 09/21/17 (Thu) 14:40:50 No. 796474 >>796479 >>796777
>>796458
with linked lists you wouldn't even be able to fit it into memory because of the pointer overheads.
face it retard: linked lists suck.
▶ Anonymous 09/21/17 (Thu) 14:49:09 No. 796479 >>796482
>>796328
>My experience with forum tutorials is that they are extremely shallow and the text is prefixed with a paragraph of the author ego boosting themselves by calling you a pleb and that they are the best people ever.
shallow is a good thing. why do you want to read some faggot's opinion on every detail of how the world works? most of these script kiddie tutorials are complete shit but still vastly better than wasting time reading a full book. also most books are written by sheltered faggots who ignore all kinds of details because they want to be good goys, not to mention you have to put up with them taking a minute every 10 minutes to say "THIS IS FOR EDUCATIONAL PURPOSES ONLY!!1"
>ego
literally every book is only written for ego/money/resume
>linked list is or why its superior to an array.
is this bait?
>>796474
this is also wrong. linked lists have tons of use cases
▶ Anonymous 09/21/17 (Thu) 14:50:58 No. 796482 >>796523 >>796777
>>796479
>linked lists have tons of use cases
they literally dont though. you're almost always better off using something else.
▶ Anonymous 09/21/17 (Thu) 15:17:59 No. 796497 >>796523
Game hacking is what got me into programming and eventually the job. I never been in university, but apparently my code I did in my free time was enough to convince them to hire me.
I was working on private server of a certain mmo game. It was one big executable, some config files in .txt and databases of items, monsters and such, quests were coded in lua. At the beginning people were only editing these things, but soon enough people started playing around with the main executable. They would post the diff file on the forum and I was mystified how a plain text file with some numbers can radically change some feature. When I discovered that these numbers are opcodes and they do stuff everything just clicked. I'd Google a x86 opcode sheet and edit this server myself byte by byte. Then I discovered you can just type assembly code in IDA and it will produce the bytes automatically, that was a big help. But still, I only had few bytes to work with. If I needed some space for my new code I'd replace the assert statements, each was like 20 bytes or so. I thought if there was an assert to happen id figure it out from the coredump. Then I learned how to add a new section to the executable, so I made 1mb rwe section and I had as much space for my code as I needed. Then I learned how to write a library that would be loaded at start and inject into the server. That was a huge help, originally in plain c, later I started using c++, recreating the original classes and structures instead of using offsets everywhere. I still had to do some stuff in assembly and of course understand it will enough to know where to inject my own code. Dirty fucking tricks that shit was. Often I'd inject my little assembly function into the server and that function would call the other function in c++. I had to forward the arguments to it, that's why I couldn't just drop a direct call to the C function (unless my function accepted the same arguments as the one I was replacing). Sometimes my C++ function would return where to jump to and in assembly I'd just have jump eax or push eax ret..... fun times. Now I'm doing "enterprise c++" and it's so boring. But... It's not so bad.
▶ Anonymous 09/21/17 (Thu) 16:17:40 No. 796523 >>796526
>>796482
We get it, you're a wizard at the STL library and want to show off your wonderful knowledge of vectors.
The point that is being made is most people don't understand when to use a Linked list data structure over an array but you don't seem to want to grasp this simple concept.
>>796497
When I was a kid, I started playing video games where I would hack constantly and make people mad, over time I started to delude myself into thinking that I was enjoying video games over hacking, I spent 5 years chasing the "fun" in games until I realised that I did not enjoy following orders set up by a game developer, instead I enjoyed smashing what was and creating my own fun.
▶ Anonymous 09/21/17 (Thu) 16:20:02 No. 796526 >>796531
>>796523
i didnt mention the stl, vectors, or arrays. your post is invalid.
try formulating an actual argument next time, ok??????
▶ Anonymous 09/21/17 (Thu) 16:45:50 No. 796531 >>796535 >>796536
>>796526
If you know the size of your array ahead of the time or it doesn't change very Often, array is better. If you insert and remove elements often, linked list is better. Case closed.
▶ Anonymous 09/21/17 (Thu) 16:50:28 No. 796535 >>796549
▶ Anonymous 09/21/17 (Thu) 16:56:27 No. 796536 >>796543 >>796544 >>796549
>>796531
>Case closed
Did I tell you to close the case, you little bitch? Linked lists are generally terrible because of cache misses and data locality. Plus, the constant overhead of having to look up a pointer, even if they happen to be in the same cache, eill take a toll on your computing time.
At least use fucking paging, you disgusting human being.
▶ Anonymous 09/21/17 (Thu) 17:18:53 No. 796543 >>796556 >>796569
>>796536
What if you're on embedded without cache (like me)
▶ Anonymous 09/21/17 (Thu) 17:20:10 No. 796544
>>796536
You're a very smart man, I too wish to be as intelligent as you
▶ Anonymous 09/21/17 (Thu) 17:44:31 No. 796549 >>796554 >>796556 >>796557 >>796569 >>796954
>>796535
>muh insertion/deletion
okay lets take a step back.
We are talking about writing a bot for a game.
A bot would need to keep a list of objects, items, map locations.
These lists would need to be resized very often to track the game state.
When a monster spawns, you would want to insert a new node into your list, when it dies you would want to delete that item.
Even If it is a waste of resources, we are talking about a data structure of <100 elements that is running on a computer that can handle a game that probably uses a million times more resources.
>>796536
>cache misses
>paging
>data locality
we're not building a kernel, in fact I think the only reason you brought up those topics is to peacock your knowledge of low level programming details. I cant blame you, I often do this also but I don't do it in such a confrontational manner.
If you're not trying to peacock, I think that you are wasting your efforts looking at low level details when it is better to try to solve your issue with high level abstractions and optimise later if needed.
>the constant overhead of having to look up a pointer
would it trigger you if I recommend people write their bots in memory safe languages such as C#? are you going to cry about the garbage collector next?
▶ Anonymous 09/21/17 (Thu) 17:49:32 No. 796554
>>796549
why would anyone write anything in c# unless they are forced to?
▶ Anonymous 09/21/17 (Thu) 17:51:51 No. 796556
>>796543
>generally
>>796549
><100 elements
>cache misses, paging, data locality dont matter
holy shit are you retarded? if you dont care about performance than use whatever.
▶ Anonymous 09/21/17 (Thu) 17:53:17 No. 796557 >>796558
>>796328
<don't even know what a linked list is or why its superior to an array
lol'd.
>Memory overhead due next pointer and heap metadata
>Heap allocation for every single insertion
>Continual pointer indirection to non-contiguous locations in memory
This kills the cache.
<b..but muh constant-time insertions and deletions
Not worth it most of the time. Especially not worth it if you have to iterate to a position (O(n) time) before you do the insertion. And if you don't care about insertion order, there are better solutions.
>>796549
>game
Maybe you want something like this instead (assuming you care about performance):
http://www.plflib.org/colony.htm
▶ Anonymous 09/21/17 (Thu) 17:56:07 No. 796558 >>796563
>>796557
>we are talking about a data structure of <100 elements
he doesnt care about performance
▶ Anonymous 09/21/17 (Thu) 17:57:19 No. 796559 >>796560
▶ Anonymous 09/21/17 (Thu) 17:58:56 No. 796560
▶ Anonymous 09/21/17 (Thu) 18:06:47 No. 796563
>>796558
OK, but if the data structure size is small and bounded, then it doesn't make much sense to care only about big O computational complexity and ignore the lower-order terms.
▶ Anonymous 09/21/17 (Thu) 18:14:46 No. 796569
>>796543
Unless you have lots of memory to waste, use arrays or sane paging.
>>796549
If you give no fucks at all about performance, you use a resizable array/vector/ArrayList/map. Linked lists are for toy programs and no sane language would use them by default. Even modern Lisps, the LISt Processor, don't use actual linked lists behind the scenes because it's wasteful
▶ Anonymous 09/21/17 (Thu) 18:17:44 No. 796570 >>796580
ITT no one has ever heard of a hash table
▶ Anonymous 09/21/17 (Thu) 18:32:15 No. 796580 >>796584
>>796570
Perfect if you need to unpredictably access elements using arbitrary keys, but otherwise you're probably better off with some other array-based container.
▶ Anonymous 09/21/17 (Thu) 18:37:35 No. 796584 >>796585 >>796586
>>796580
>hash tables aren't array based
▶ Anonymous 09/21/17 (Thu) 18:40:30 No. 796585
>>796584
They don't have to be array based. More often than not they will use arrays at some point, but they actually have structures quite more complicated than that.
▶ Anonymous 09/21/17 (Thu) 18:45:02 No. 796586 >>796588
>>796584
They are, that's why I said
>some other array-based container.
Unlike plain arrays, though, they also
>have access overhead from the hashing function
>need an extra mechanism to deal with collisions
>are slower to iterate through
▶ Anonymous 09/21/17 (Thu) 18:46:05 No. 796588 >>796590
>>796586
ye i fucked up :( im sorry fam
▶ Anonymous 09/21/17 (Thu) 18:46:59 No. 796590
▶ Anonymous 09/21/17 (Thu) 18:59:52 No. 796597 >>796604 >>796854 >>796861
>video game hacking
>everyone sperging over linked lists
fuck off autismos
honest question here,
can you write game cheats in rust without basically just calling C code all the time?
▶ Anonymous 09/21/17 (Thu) 19:11:32 No. 796604
▶ Anonymous 09/22/17 (Fri) 00:33:05 No. 796721
thanks for killing the thread guys
▶ Anonymous 09/22/17 (Fri) 02:39:30 No. 796777
>>796482
>>796474
Lists have their uses, kiddos, just not as a data structure all on their own. Much better to use to resolve collisions for a hash table. Vectors (aka dynamic arrays) are much better for the traditional LL job because of CPU caching. The CompSci O(n) bullshit makes sense on paper, but you have to work with real hardware.
▶ Anonymous 09/22/17 (Fri) 07:38:08 No. 796854 >>796861
>>796597
Would really like an answer to this.
How does rust handle all the syscalls you need on e.g. windows to read/write memory and such?
I'd imagine you'd basically have so many syscalls in your rust program that you might as well just stick with C++.
▶ Anonymous 09/22/17 (Fri) 07:48:36 No. 796857 >>796921
>>796213 (OP)
You were so close cianigger but the discord gives you away immidiately.
▶ Anonymous 09/22/17 (Fri) 08:05:03 No. 796861
>>796597
>>796854
You can expose a safe interface with an unsafe operation inside. No need to call C code to do those things, you can do assembly if needed, like this https://github.com/kmcallister/syscall.rs
▶ Anonymous 09/22/17 (Fri) 13:18:57 No. 796921
>>796857
we tried to use Riot but very few people wanted to switch over, admit it you cant fight the tragedy of the commons
▶ Anonymous 09/22/17 (Fri) 15:56:59 No. 796954
>>796549
>first reply
this. anyone who insists otherwise has never even wrote real code before. cache locality or even allocation time only comes into play when you need performance. the average LARPer likes to post how he knows better than everyone because he knows linked lists aren't always efficient
▶ Anonymous 09/22/17 (Fri) 16:02:41 No. 796955 >>797117
>The CompSci O(n) bullshit makes sense on paper, but you have to work with real hardware.
aaaand, the next LARPer meme enters the thread. asymptotic complexity matters plenty. there are of course cases where you care about the hard numbers, but without the O you're just another retard LARPer
▶ Anonymous 09/22/17 (Fri) 22:05:52 No. 797117
>>796955
Not in the way being described ITT. Linked lists aren't as fast as they used to be, not because they've got slower, but because caching helps speed random access up, as long as you get your ducks in a row. Get over it, fag.
▶ Anonymous 09/22/17 (Fri) 22:31:10 No. 797121
>google for game hacks written in rust
>all results are hacks for the game rust written in c++
▶ Anonymous 09/23/17 (Sat) 14:12:38 No. 797297
▶ Anonymous 09/23/17 (Sat) 16:32:59 No. 797352 >>798611
This thread pretty much confirms that the "/tech/ can't code meme" is true.
▶ Anonymous 09/27/17 (Wed) 01:35:11 No. 798611 >>800879
>>797352
>Hey Jim, we need a login page by tomorrow!
>Sure thing boss, it will be in a few weeks
>Hey Jim, where is that page you promised?
>WHAT THE FUCK DID YOU SAY TO ME YOU LITTLE BITCH? DO YOU KNOW HOW HARD IT IS TO BUILD A WEB SERVER FROM SCRATCH? DO YOU HONESTLY WANT ME TO USE THE POS THE IS NODE OR APACHE? WE NEED TO CUSTOM BUILD A WEB SERVER FROM SCRATCH IN ASSEMBLY SO THAT IT UTILIZES OUR PROCESSORS 100% AND DO YOU HONESTLY EXPECT ME TO USE A BLOATED LANGUAGE LIKE JAVA OR C#? I EVEN CONSIDER C++ TO BE A BLOATED POS. NO WE WILL BE USING C WITH INLINE ASSEMBLY TO MAXIMIZE OUR SPEED AND DO YOU EXPECT ME TO USE THE OUT OF DATE TCP STANDARD? WE NEED TO CREATE A NEW STANDARD THAT FULLY UTILIZES OUR USE CASE WITH NO WASTED TIME DOING REDUNDANT VALIDATION. EVERYTHING NEEDS TO BE BUILT FROM SCRATCH, WE CANNOT AFFORD TO WASTE A SINGLE CLOCK CYCLE!!!!
>Jim was later fired and replaced with Raja who coded the entire login page in a single day using ASP.NET™ and Microsoft server™ with Azure™
>Since westerners don't know all Microsoft technologies inside out, the company was forced to hire Rajas friends from MIT(Mumbai Institute of technology)
▶ Anonymous 10/01/17 (Sun) 17:07:50 No. 800546 >>800556
What about MONEY. Can you make money off of this shit?
Where/how do you sell hacks?
▶ Anonymous 10/01/17 (Sun) 17:29:31 No. 800556 >>800633
>>800546
I got a job working on vidya based on my hacks. But I have no idea about all this math and I just sit around like in one of those nightmares where you're at school in your underwear and forgot there was a test today. I just wanted to replace some models and look at tits, I have no idea what a quaternion is.
▶ Anonymous 10/01/17 (Sun) 17:36:49 No. 800560 >>800922
I'd really like to mod old Wii and Gamecube games for the sake of fucking around with stats and the likes. I used to just rip the music off of the ISOs with a combination of rather faulty programs but that was about it. Where do I start?
▶ Anonymous 10/01/17 (Sun) 20:07:44 No. 800633
>>800556
Tell me more! How much do you make, what kind of hacks did you do?
▶ Anonymous 10/02/17 (Mon) 14:58:30 No. 800879
>>798611
>caring about corporate necessities
Real programmers don't need to be employed.
▶ Anonymous 10/02/17 (Mon) 16:37:11 No. 800922 >>801000
>>800560
romhacking is not the same as writing cheats for games
▶ Anonymous 10/02/17 (Mon) 21:19:29 No. 801000 >>801021
>>800922
Not strictly, making cheats is more about finding bugs in the game you can exploit, but if he's changing the code of the game it is game hacking, but when people say rom hacking they mostly change the assets, not the code.... although on old 8 bit systems the line between data and code is rather thin
▶ Anonymous 10/02/17 (Mon) 22:37:20 No. 801021
>>801000
Most romhackers just insert their shit fanfics into the game. Much hacking very wow
▶ Anonymous 10/05/17 (Thu) 02:34:19 No. 802383
>>796439
>BE
PUBG is shit. it goes in the category of crap games. you can teleport, fly, OPK, and lag switch. as a matter of fact you can simply unplug your ethernet, run up to someone, kill them, plug it back in, and you end up killing them from around the corner. no hacks even needed to cheat in this game
now for shilling good game hacking sites
http://dev.cra0kalo.com
http://longpoke.github.io
▶ Anonymous 10/07/17 (Sat) 14:55:27 No. 803286 >>803466 >>803479
Are there any programs that display the entire memory map of an arbitrary program running on the machine? For example, something like a machine code monitor but only for the program itself.
▶ Anonymous 10/08/17 (Sun) 00:46:11 No. 803466
>>803286
You can use cheat engine for that iirc.
Or literally any debugging program.
▶ Anonymous 10/08/17 (Sun) 01:10:03 No. 803479 >>804113
>>803286
cat / proc / $ ( pgrep name )/ maps
▶ Anonymous 10/09/17 (Mon) 19:53:01 No. 804113
>>803479
Thanks I appreciate it. This should serve my purposes well.
▶ Anonymous 10/12/17 (Thu) 21:24:24 No. 805274 >>805562
>>796458
>muh linked lists always superior to arrays le epic troll ;)))))))))))
>zero understanding of caching effects
confirmed streetshitter tbh
>>>/india/
▶ Anonymous 10/12/17 (Thu) 21:27:56 No. 805275
>this is how I create my minions and start my empire
Stop reading Syngress Stealing The Netwok series my dude
I know you team gamergoys are funny and all but just staph fam, do something to gain reputation, not this shit
▶ Anonymous 10/13/17 (Fri) 19:02:36 No. 805562
>>805274
Disclaimer: I'm retarted. But if there's one damn thing I ever learned about programming, it's this: there's only two kinds of data structures: contiguous arrays and everything else. "Everything else" is what you should write yourself to best fit the algorithm which you wrote, molding one to the other.
But ain't nobody got time for that, give me my free hash maps!