C++ Game Hacking Tutorial Ep.1 | Reading/Writing Memory

Поделиться
HTML-код
  • Опубликовано: 20 окт 2024

Комментарии • 926

  • @declan_youtube
    @declan_youtube 2 года назад +17

    This is genuinely great, as a beginner C++ coder (I've used C# before) this is very helpful. It isn't too late to recontinue this series

  • @Frastio10
    @Frastio10 3 года назад +175

    its been 4 years and im still waiting for the Ep.2 ...

    • @myownthoughts969
      @myownthoughts969 3 года назад +1

      @@R00kTruth well anything really... I’m learning c++ and this is interesting but I would love to see some more tutorials on visual studio code and how to use it better or anything really that has to do with watching someone explain what there doing while writing c++... what about making your own game in c++... What about useing unreal engine to make stuff... unreal engine uses c++ and unity game engine uses C#... I basically just need someone to show me how the code works and how it links together... blender is a free tool that uses c++ and you can make anything you want.. I would like to see some new content..

    • @empty6088
      @empty6088 3 года назад +7

      He Disappeared Like Zer0 Mem0ry RUclips Channel

    • @shadowop-bgmi2202
      @shadowop-bgmi2202 2 года назад

      He has adhd , so he is procastinating

    • @MScienceCat2851
      @MScienceCat2851 2 года назад +2

      @@myownthoughts969 So hows going,its been almost year.
      Any progress?

    • @mxrcymemes
      @mxrcymemes 2 года назад +1

      Keep waiting 😂

  • @MrPhillips365
    @MrPhillips365 7 лет назад +619

    Omg you explain c++ better than all of my comp sci professors. I would love to see more videos from you. Pls make more.

    • @RedDragonV09
      @RedDragonV09 6 лет назад +4

      I was about to say the exact same thing! This is so easy to follow!

    • @godmakoto1041
      @godmakoto1041 5 лет назад

      Well unless its mario 64 they cant help further hacking

    • @purpl3grape
      @purpl3grape 5 лет назад +5

      So the less clearly you're able to explain C++, more universities are willing to hire you and give you tenure.

    • @manudelmarche
      @manudelmarche 5 лет назад +8

      Sorry guys. As much as I love the video and the explanations provided. This is not a C++ tutorial. This could have been made using barebone C.

    • @zyxwvutsrqponmlkh
      @zyxwvutsrqponmlkh 5 лет назад +4

      @@manudelmarche I'd just like to interject for a moment. What you’re referring to as C, is in fact, ISO/IEC 9899:2018, or as I’ve recently taken to calling it, ISO plus IEC. C is not a specified language unto itself, but rather a group of languages sharing similar syntactic structures and rough interoperability on various compilers. Many computer users run a modified version of the ISO system every day, without realizing it. Through a peculiar turn of events, the version of ISO which is widely used today is often called “C”, and many of its users are not aware that it is basically the ISO version, standardized by the International Standards Organization.

  • @firesk1461
    @firesk1461 3 года назад +13

    This is the first, literally the first tutorial I've seen so far that maybe doesn't straight explain everything but at least leaves *reference* to the stuff one should look into. *Impossible...*

    • @shreeshind8388
      @shreeshind8388 3 года назад

      Can it need to add readprocessmemory script please reply

  • @zmspliffo7138
    @zmspliffo7138 5 лет назад +8

    Hands down, the best tutorial ive watched and extremely beginner friendly, thank you.

  • @notanenglishperson9865
    @notanenglishperson9865 2 года назад +2

    OMG, your explanation was so chill and easy to understand, you showed me that this memory-stuff isn't that hard at all

  • @xatic1
    @xatic1 8 лет назад +306

    Finally a guy who speaks good english, AND understand how everything works! Kudos for this bro! Didn't learn anything new, but leaving my fotprint here anyway. Good job, more tuts would be nice! Maybe looking for base addresses and pointers? seen so many people don't understanding what it is, and why dynamic is not static etc.

    • @oldfire3107
      @oldfire3107 7 лет назад +1

      xabo True

    • @kylemartin6751
      @kylemartin6751 6 лет назад +3

      Usually, people who speak jaded English are more intelligent because they know more than just one language. And this is coming from someone who only speaks one language, though I am trying to learn Japanese. So give them more benefit of the doubt.

    • @libummendaciumest3328
      @libummendaciumest3328 6 лет назад +8

      Wait wut? "people who speak jaded English are more intelligent because they know more than just one language" ? Jaded as in: "Bored or lacking enthusiasm, typically after having had too much of something"? Or does it mean something I can't find a dictionary for?
      ...maybe "jagged English" or "broken English" is what you were looking for.
      I know some polyglots are smarter from personal experience, but being able to speak two languages badly isn't hard, and a lot of people do. Most people from around the world are passable in their own language and bad English. The only problem is when you're own language is bad English...

    • @kylemartin6751
      @kylemartin6751 6 лет назад +1

      libumMendaciumEst most of the videos related to computer programming I have watched have from content creators from India or China. I wouldn't call it broken English, because they are fluent for the most part. Hence why I called it jaded English. Their content typically is hard to understand due to their delivery or it is very bland. But hey man, thanks for trying to take a Jab at me because you assumed that I am bad at English... "Wait wut" ;)

    • @libummendaciumest3328
      @libummendaciumest3328 6 лет назад +5

      I'm not making any assumption about you being bad at English: "Jaded" doesn't have that definition in English, it's pretty solid proof :)
      Also "Wait wut" wasn't the jab, is was however the last line: "The only problem is when you're own language is bad English"
      ...upon which I which to pontificate: Fairest of beasts Kyle Martin, be you so damned by the coarseness of your tongue? Eloquence like mine, from which you are denied, comes freely to me. Don't covet what you have not, but rejoice in your own language: Bad English.
      I might be coming off as an arsehole, but I'm sobern't. Before I go, take this ruclips.net/video/DamuE8TM3xo/видео.html
      it will give you the knowledge of C++, with the power of brilliant English forged in a soothing tone.
      And this is to help you learn japanese: ruclips.net/video/OFQQALduhzA/видео.html

  • @caharkness
    @caharkness 7 лет назад +159

    At 11:20 - that's some of the realest sh*t I've heard all day. It drives me mad when people just start copying & pasting code and then throwing a fit in the comments section complaining that it doesn't work. Thank you for exercising the whole "write it yourself" thing, I agree 100%.

    • @HA7DN
      @HA7DN 6 лет назад +23

      When I was learning C, I copy-pasted SECTIONS of code from others, then re-named variables, and modified some fine details, and I was learning a LOT. I also do it when I'm learning a new library, and it helps a lot to understand new concepts.

    • @elduderino7456
      @elduderino7456 6 лет назад

      Can't stress this enough.

    • @deud1eskrub503
      @deud1eskrub503 5 лет назад

      Amen, it's also poor practice, as just memorizing code doesn't help people learn 'why' or 'how' the code works.

    • @urlossL
      @urlossL 5 лет назад +1

      No, thats exactly how you learn how and why...

    • @pythonhowto1185
      @pythonhowto1185 5 лет назад +1

      i copy paste code all the time. I get bored easy so typing is boring. I'd rather cut right into the meat and break the code apart testing each line, & play around with the code -then wasting time typing it all out.

  • @sunnisun36
    @sunnisun36 7 лет назад +9

    to be honest you are one of the few people who can explain it understandable in a short period of time. I understood it the first time i saw the video :) thumbs up !

    • @shreeshind8388
      @shreeshind8388 3 года назад

      Can it need to add readprocessmemory script please reply

    • @sunnisun36
      @sunnisun36 3 года назад

      @@shreeshind8388 what do you mean ?

    • @shreeshind8388
      @shreeshind8388 3 года назад

      @@sunnisun36 can u tell me that u just coded and the code is working know sorry for bad eng.

    • @sunnisun36
      @sunnisun36 3 года назад +1

      @@shreeshind8388 to be honest i can`t remember anymore but i am pretty sure. But keep in mind that the address will change every time you restart the game and if you want that it always works you have to find the base pointer with the offsets or just modify the function which is used in the game for counting up and down the gems in the memory.

    • @shreeshind8388
      @shreeshind8388 3 года назад

      @@sunnisun36 thank u very much for your comment.

  • @VoyivodaFTW1
    @VoyivodaFTW1 2 года назад +1

    that was awesome. I've been programming for over a decade and never realized how much you can do.

  • @VioletGiraffe
    @VioletGiraffe 6 лет назад +61

    Triggered by that misspelled '==' :)
    Luckily, in this case it only affects the branch that shouldn't be taken.

    • @pyromen321
      @pyromen321 6 лет назад +2

      VioletGiraffe that’s why I always compile with -Wall -Wextra -pedantic

    • @wutishappeninghere9780
      @wutishappeninghere9780 4 года назад

      Lol i saw that and thinked the same

  • @Engineer9736
    @Engineer9736 5 лет назад +4

    After those if statements where you check for bad outcomes and exit the application, you don’t need to use “else” for the continuation of the program. If you ended the if block with exit() or return false, the code after that block will only be executed in the else situation. This will save you a lot of indents, makes the code look a lot neater.

  • @rperage9052
    @rperage9052 7 лет назад +28

    please make an episode 2, i really loved the vid and learned alot from it. i would appreciate it if there would be a part 2 soon

  • @zHqqrdz
    @zHqqrdz 7 лет назад

    You're the first one who did something I could understand.
    From a clean coder POV, you could keep all that code on the same indentation block, helps reading and understanding. All those else were unnecessary since you exit in every ifs anyway :)

  • @keplar7243
    @keplar7243 7 лет назад +526

    Please can you upload more? I actually understand from you :o

    • @wertia391
      @wertia391 6 лет назад +8

      Sn6 lol salty

    • @closedworld3258
      @closedworld3258 5 лет назад

      @Snn lmao

    • @shreeshind8388
      @shreeshind8388 3 года назад

      Can it need to add readprocessmemory script please reply

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 года назад

      My friends, please search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life..
      ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

  • @naoops4091
    @naoops4091 5 лет назад +1

    my love for c++ was ignited again , the hate is gone, love this video , tnx. I know it's from few years back but damn ... so well made.

  • @HTDBarsi
    @HTDBarsi 4 года назад +2

    Bro this tutorial IS SO GOOD 10/10, explaining everything perfectly

    • @shreeshind8388
      @shreeshind8388 3 года назад

      Can it need to add readprocessmemory script please reply

  • @LMleet06
    @LMleet06 7 лет назад

    Great video, I spent all day trying to figure out simple way to read/write in C#, then your video easily explaining how to do it in c++ in a few lines.

  • @lolsucks3599
    @lolsucks3599 8 лет назад +2

    Finally a real tutorial that shows the basics so you are able to understand it. Thanks for doing it =) Im subscribing to hopefully learn more from you

  • @PMarcalPrefeitoSP
    @PMarcalPrefeitoSP 3 года назад

    this is the best gamehacking tutorial, in the middle of 2021 and working normally congratulations for the effort

  • @SapphFire
    @SapphFire 7 лет назад +3

    Wow.. Thank you. Finally a tutorial that explains everything well.

  • @BkzReaper
    @BkzReaper 6 лет назад

    I must agree with the comment someone left about finally someone that speaks english with no terrible foreign accent. Good Job, keep up the work. I have a bunch off apps no my phone that intend to teach all kind of languages for pc / scripting but I hardly have the time at the moment to brush through them.

  • @n1ira
    @n1ira 5 лет назад +16

    people that sound like they wanna die are my favourite type of people

  • @SmokelessMeme
    @SmokelessMeme 5 лет назад

    Damn, you explained that shit well. I'm trying to get into C++, (currently learning javascript as a part of my computer science class in junior year of high school), and this tutorial was extremely easy to follow, especially given the fact that I had never even touch C++ before watching it.

  • @SomeNussi
    @SomeNussi 6 лет назад +34

    several things:
    > after exiting the program in the first if-statement you don't need the else-one.
    > GetWindowThreadProcessId(hwnd, &procID); is not passing the variable by reference but rather passing a copy of the address of "procID"
    > Initializing "handle" with an initializer list would be more efficient than initializing it as null and then assign the value of "OpenProcess(PROCESS_ALL_ACCESS, FALSE, procID)" to it
    > the else-branch after the above point is again unnecessary
    > again &newValue doesn't tell the compiler to pass in a reference, but rather passes in the address of "newValue"
    > all variables should be initialized with their value instead of initializing them and then assigning a value ("int readTest {0};" is superior to "int readTest = 0;")
    > exit(-1); is not good either. return EXIT_FAILURE; would be better.

    • @Invenciblemario
      @Invenciblemario 5 лет назад +1

      But wouldn't all variables that are initialized and then immediately assigned a value in code actually just get initialized already with its value when compiled? That's one of (the many) optimizations that are standard on modern compilers.

    • @drmonty5495
      @drmonty5495 5 лет назад +1

      wow such pedantry for someone who thinks that ahahah wtf

    • @dylansanderson3663
      @dylansanderson3663 5 лет назад +1

      the industry expert over here

  • @daltonm4790
    @daltonm4790 7 лет назад

    thank you. i've been studying c++ for about 4 months now & wanted to get into game hacking, so thank you.

  • @pthiago_s5075
    @pthiago_s5075 5 лет назад +36

    Damm where are his videos
    Last ones 1 year ago

    • @coprice94
      @coprice94 5 лет назад

      Hes dead

    • @mryup6100
      @mryup6100 4 года назад +4

      @@coprice94 don't be spreading false info man.

    • @coprice94
      @coprice94 4 года назад

      @@mryup6100 I'm not man

  • @hafbakh7460
    @hafbakh7460 3 года назад +1

    One Of The Best Videos I Have Ever Seen

  • @SandwichMitGurke
    @SandwichMitGurke 5 лет назад +3

    Awesome tutorial :D are these mx blue switches? I love their sound :D

  • @TimeoutMegagameplays
    @TimeoutMegagameplays 6 лет назад

    Please continue the series, fuck, I need it. You explain everything so fucking well.

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 года назад

      My friends, please search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life..
      ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

  • @RDY-ke4fn
    @RDY-ke4fn 7 лет назад +169

    nice video, you have a small mistype where it says
    'if (procID = NULL)'
    rather than
    ' if (procID == NULL)'

    • @BJJOORRNN1
      @BJJOORRNN1 7 лет назад +7

      ya, wouldn't the compiler throw up an error at you for that?

    • @ShaunDreclin
      @ShaunDreclin 7 лет назад +43

      It's not strictly a syntax error, more of a logic error. You can assign values in if statement conditions

    • @zayanwatchel8780
      @zayanwatchel8780 7 лет назад +2

      BJJOORRNN1 no it would just assign the value

    • @souptenderpanini3106
      @souptenderpanini3106 6 лет назад

      Shaun Dreclin hey I got a question, so if the value I got from cheat engine is a string, what type of code do I write?

    • @wdmeister
      @wdmeister 6 лет назад +18

      That's why it's a good practice to have rvalue on the left side in "if" statements. For example "if (nullptr = procID)". In this case, you will get an error.

  • @Javier-ov3hj
    @Javier-ov3hj 7 лет назад

    Man, Please Do More Tutorials!!! I learn more from you in 15 minutes than 2 hours of trying to understand what pro coders write on forums

  • @fredzhang7
    @fredzhang7 4 года назад +5

    THIS IS AMAZING!

  • @matthieundumbi3888
    @matthieundumbi3888 5 лет назад +1

    Man you are great !!!! You explain better than all the books i read... Plz make more videos.
    Respect from Greece !

  • @salih-khan
    @salih-khan 5 лет назад +31

    THE GOVERNMENT would like to know your location

  • @refinery__
    @refinery__ 7 лет назад

    That was one of the best tutorials ive seen so far on youtube, please upload more

  • @moneymane426
    @moneymane426 7 лет назад +17

    cmon dude wheres the part 2 :(

  • @rizz5228
    @rizz5228 5 лет назад

    I’m new to computer science and watching what I’m eventually going to learn about makes me so excited

  • @AbdurRahman-is8zx
    @AbdurRahman-is8zx 5 лет назад +5

    *I like your C++ skills its worth it i know C++ too*

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 года назад

      My friends, please search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life.
      ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

  • @John_X_GR
    @John_X_GR 7 лет назад +1

    2:42 Lol, no, that's actually ok xD i actually love it

  • @oylesine9834
    @oylesine9834 8 лет назад +17

    if we open cheat engine with any mmorg f the game guard will detect it and close it, so how can we find any adress ? how can we bypass it ? nice vid dude and sry for my english

    • @EnduranceT
      @EnduranceT 7 лет назад +15

      Write your own memory process scanner. Search "C memory scanner" on youtube and youll see what I mean.

    • @oylesine9834
      @oylesine9834 7 лет назад +1

      EnduranceT thanks dude i will try it out

    • @shamanthkumar5017
      @shamanthkumar5017 5 лет назад

      Maybe the memory you are trying to access in not in the stack or heap so you cannot directly change it using c++, however windows api allows you to access the game directly and all the memory its using(It's my opinion i don't know for sure, please do correct me if i'm wrong).

  • @danielderwertvolle6354
    @danielderwertvolle6354 5 лет назад

    great stuff. just a few hints:
    - unlike return values, exit codes are usually positive
    - there is no need for an "else" if your "if" exits the program anyways
    - sizeof int and float is usually the same (4 bytes). it has nothing to do with the actual types. you could actually just put 4 on most systems.

  • @xXDiablo7616Xx
    @xXDiablo7616Xx 7 лет назад +26

    if (procID == NULL) with two = not one at line 24

    • @FabianKristoff
      @FabianKristoff 3 года назад

      My ocd was bangin on the door from that. How didn't he notice it ahahaha

    • @firesk1461
      @firesk1461 3 года назад +1

      @@FabianKristoff its stuff you most ironically start missing more often when you already have had some experience and you just sorta code 'less consciously' in a way

    • @Gottfried1983
      @Gottfried1983 3 года назад

      What weirds me out is that it seems to compile and run fine lol

  • @dvdvideo1234
    @dvdvideo1234 5 лет назад

    That's neat! I avoid hardcoding a pointer, but it works ;) Dude, you need more videos like this. Seriously!

  • @avi12
    @avi12 5 лет назад +3

    For C++ development, I recommend JetBrains CLion over Microsoft Visual Studio. Much better IDE in my opinion

    • @__3093
      @__3093 3 года назад +1

      VS is better

    • @technoo4891
      @technoo4891 3 года назад

      @@__3093 no its not

  • @le-1348
    @le-1348 7 лет назад

    Hi man! Nice videos. Just what I needed, I am learning a lot from you!. BTW, as I studied this , one little classic typo I noticed on line 21. Namely, as I understand, procID from that moment will be NULL due single equation symbol witch becomes assignment instead of checking equality (as in line 9), and this if will be never true even if procID is NULL. Also, I think the handle should be set up after you make sure that procID is not NULL.
    Best of luck and thanks for your stuff!

  • @shreyanshsingh2627
    @shreyanshsingh2627 5 лет назад +9

    dude, when's ep 2 coming?

    • @NbaLoveTurkiye
      @NbaLoveTurkiye 5 лет назад +1

      this video was uploaded in 2016 :) so there will be no ep.2

    • @shreyanshsingh2627
      @shreyanshsingh2627 5 лет назад +1

      actually you're right. didn't see that.

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 года назад

      My friends, please search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life.
      ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

  • @diddyholz3290
    @diddyholz3290 6 лет назад +2

    i watched so mny videos about reading writing memory and your video helped me out a lot :)

  • @BassDropMonkey
    @BassDropMonkey 8 лет назад +5

    More, more, more. Next == Pattern Scanning, Offsets, writing things like float, 4 byte, byte and string.

    • @michaelcook8498
      @michaelcook8498 8 лет назад

      you forgot bitwise operators . But yes ( Pattern Scanning, Offsets, writing things like float, 4 byte, byte and string.)

  • @MrIKicker
    @MrIKicker 8 лет назад

    Nice, good video for helping people understand memory. I had taken a C++ class before 1 of 2 & I didn't quite understand memory handling but this video helped me understand it a little better. Thanks!

  • @samaryan6960
    @samaryan6960 6 лет назад +5

    I want to make a wallhack for dead by daylight but i dont have any clue where and how to start. Can you maybe help with tips etc?

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 года назад

      My friends, please search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life.
      ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

  • @Beyluta
    @Beyluta 7 лет назад

    While I don't like cheaters or people who use their knowledge for those kind of things, I do find your tutorial helpful for people getting into reading and writing memory.

  • @frankgreen3295
    @frankgreen3295 7 лет назад +4

    how would you do it if the address had an offset

    • @zsdanix
      @zsdanix 6 лет назад

      You might as well just google the base address, see if someone already found it. Otherwise cheat engine can also help with that.

  • @Vertixen
    @Vertixen 6 лет назад

    Please make more, you explain it really well.. Make more c++ tutorials like this one, we beg you !!

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 года назад

      My friends, please search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life..
      ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

  • @altf4magic332
    @altf4magic332 5 лет назад +4

    How do i Find the adress?

    • @Sync-Edits
      @Sync-Edits 5 лет назад +1

      ¯\_(ツ)_/¯

    • @leonbass3275
      @leonbass3275 5 лет назад +3

      scan for it in cheat engine, but i wouldn't recommend just writing to the address as if it's static - it's most likely dynamic, as soon as you close the game the address will change. Do a pointer scan for the address with a pointer depth of 1 so that the results are just (Module + offset1) + offset2. Then read the contents of (Module + offset1) which will be a pointer, then write to the pointer + offset2. This way you don't have to worry about updating the addresses every time.

  • @erikprantare696
    @erikprantare696 7 лет назад

    Nice video! You could omit the "else" clauses after the error checking, because you always return in the "if" before. That would make the code much more linear and easy to follow.

  • @hazerjm
    @hazerjm 6 лет назад +8

    You do this
    {
    }
    I do this {
    }

    • @Hikyu
      @Hikyu 6 лет назад +1

      thats ma man

    • @bamberghh1691
      @bamberghh1691 6 лет назад +10

      {
      }
      is more readable

    • @Hikyu
      @Hikyu 6 лет назад +6

      not if your code is more than 500 lines

    • @rashidisw
      @rashidisw 6 лет назад +1

      yeah, i tend to make the } at the same column as the corresponding { .
      Its indeed more readable that way, especially if the { } are nested.

    • @pedja639
      @pedja639 5 лет назад

      ma man

  • @Goregreet
    @Goregreet 5 лет назад

    Im trying to learn c++ and you are honestly very good at teaching thank you for this

  • @unh0lys0da16
    @unh0lys0da16 6 лет назад +3

    Why use else after an if statement with exit() in it?

    • @MindlessTurtle
      @MindlessTurtle 6 лет назад

      Thank you! That redundancy is a pet peeve of mine. Drives me nuts.

    • @shadowvampyrietv716
      @shadowvampyrietv716 6 лет назад

      Coz need app. The exit buttom xD

    • @unh0lys0da16
      @unh0lys0da16 6 лет назад

      wat

    • @zeyode
      @zeyode 5 лет назад

      Because that if statement only exists to check for an error that is necessary to get out of the way for the rest of the program to work. If the window it needs isn't found, it quits. Otherwise, it does its job.

    • @Engineer9736
      @Engineer9736 5 лет назад

      @Zeyo, you don’t understand his point. If an if block ends with exit(), all the code after this block will only run in the “else” situation anyway. If you skip the else statement, you don’t have to go 5 indents deep which makes the code complicated to read.

  • @w451-qx3kx
    @w451-qx3kx 5 лет назад

    Finally english guy who is actually very helpful!

  • @briannielsbergh
    @briannielsbergh 7 лет назад

    Cool video :) - However, shouldnd you check the procID before getting the handle for it? (put the handle getter below the procID check) :P

  • @Erionoir
    @Erionoir 5 лет назад

    I learned a bit but this is more than enough for my coding journey, thanks a lot man

  • @NewAgeSoldier
    @NewAgeSoldier 5 лет назад +2

    I wouldn't detect if a game or program is running via it's program title. Some games or programs have window titles that are constantly changing, like DOSBox for example. Just detect if the process itself is running via its process name as that will never change. In the event the process is not available, you should do a loop and keep checking so that way we can run the game/program at another time and the trainer will pick it up whenever you decide to open the game/program.

  • @SandwichMitGurke
    @SandwichMitGurke 5 лет назад +2

    One question: the address you had was a fixed value. Doesn't this change with every program start? And is there something like an address offset that tells you how far the value (or coins or whatever) is away from the start of the program, or does that change too every time?

  • @noiseflow4306
    @noiseflow4306 Год назад

    You are a fucking legend you explain every single thing so much better than others

  • @Rallink
    @Rallink 6 лет назад

    Neat tutorial. I've got extensive C++ knowledge but I've never even bothered thinking about using it to cheat. Interesting idea.
    Now I know everyone's shown you that 'procID = NULL' error, but I've got a couple of questions/comments with this code:
    1. Why exit(-1) and not just return(1)? My background in C++ says it's generally not good practice to not finish with return statements. Why a syscall? Any specific reason?
    2. Not really a question per say, but you don't need those else statements. The if statements will exit upon exit(-1), so you can just write code below them normally. Just a head's up.

  • @vex3198
    @vex3198 3 года назад +1

    Very well explained video, great job!

  • @DanielRamBeats
    @DanielRamBeats 6 лет назад

    Wow thank you so much for taking the time to share this, amazing practical example of C++

  • @sankakucomplexor
    @sankakucomplexor 4 года назад

    i hate to bump this old vid but i sure would love a part 2 of everything

  • @Amber-le8ds
    @Amber-le8ds 2 года назад

    Holy fuk that was awesome.. I am learning c++ and had no idea you could do cool shyt like this.

  • @AshleyTyagi
    @AshleyTyagi 6 лет назад

    i like that keyboard sound its what every tutorial is missing

  • @VivekYadav-ds8oz
    @VivekYadav-ds8oz 5 лет назад +1

    And that's why, kids, you should write the rvalue in the left side of a test expression, so that the compiler can notify you of the error.

    • @qwfp
      @qwfp 5 лет назад

      0x1A4 iq right here

  • @maximo1590
    @maximo1590 8 лет назад

    Absoulutely AMAZING Video. I Learned How To Make A Trainer In C++ JUST BECAUSE OF YOU! ☺ You Are Truly Amazing.

  • @Sarah-kx1pt
    @Sarah-kx1pt 6 лет назад

    Understandable. Quite clear explanation.

  • @ChristopherGray00
    @ChristopherGray00 7 лет назад

    Thanks for making this video man, i'd love to see more from you,

  • @marcus8619
    @marcus8619 3 года назад

    Thank you for this wonderful job !!!
    It's been very useful !!

  • @jihedbouchnak
    @jihedbouchnak 6 лет назад

    this is the tutorial i was looking for for a long time thanks a lot

  • @jojeperplex5926
    @jojeperplex5926 6 лет назад

    Oh my fucking god thank you so much, you got me started on C++ games hacking/cheating and stuff like that this even helped me understand the basic C++ rules ;) And btw this is the first C++ coding tutorial that actual isn't copying and pasting...

  • @waliddu62
    @waliddu62 7 лет назад

    Thanks you very much for all your videos you can't imagine how these videos help me a lot just keep doing a very good job.

    • @الإسلامدينالحق-خ5ت
      @الإسلامدينالحق-خ5ت 3 года назад

      My friends, please search for your life purpose, why are we here?? I advise you to watch this series 👇 as a beginning to know the purpose of your existence in this life.
      ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

  • @soldawn121
    @soldawn121 3 года назад +2

    Wow dude
    I understood everything although my native language is not English Thank you so much !

    • @shreeshind8388
      @shreeshind8388 3 года назад

      Can it need to add readprocessmemory script please reply

  • @904nighthawk
    @904nighthawk 7 лет назад

    Dude, you're amazing. I love your video! If you do stuff like coding and stuff, totally subscribing!

  • @dongyoungkim962
    @dongyoungkim962 Год назад

    heymurder, you are not coming back? we need you back here.
    and this explanation of win32 and all was really good

  • @NikolaPetkanski31337
    @NikolaPetkanski31337 6 лет назад +1

    Nice tutorial! You could improve your programming style though. Few things I have in mind: 1) you don't need the else statements if you do exit inside the ifs 2) use pre-increment - it's faster and you don't really need a post-increment.
    Also, #datassignmentbro.. you can do better than that. Use yoda-statements.
    Cheers :)

  • @tonyd6853
    @tonyd6853 6 лет назад

    Thanks! CPP is all I learned in College. Took the web class before even CSS existed!

  • @bmp45vx
    @bmp45vx 8 лет назад

    THANK YOU!!! You make it so understandable, subbed!!

  • @CoreDreamStudios
    @CoreDreamStudios 2 года назад

    Fun fact, started CS50 with edX and this makes so much sense now.

  • @bernardobraga6799
    @bernardobraga6799 6 лет назад

    Thanks a lot man, you have no idea how much you helped me

  • @hopemikaelson8839
    @hopemikaelson8839 5 лет назад

    2 month ago i watched your vid and i really liked it even though i didn't understand anything in the code and i didn't think i would be able to do anything like it
    now i'm learning C++ i'm learning classes & and objects now
    and i understand your code (not all of it but i got the idea and that's amazing ) now i could do stuff like that
    and i was wondering if C++ had a sleep or a wait function or i would have to build one thanx to you I won't have to wait to learn about it
    really loved your video if you didn't get that form my crazy talk
    (btw i didn't start right a way to learn C++ it took me a long time to actually start ( and by a long time i mean 1 month give or take :D))

  • @DestinyCreates
    @DestinyCreates 7 лет назад

    Great easy to understand video! Keep it up! :D

  • @michaelidrys4976
    @michaelidrys4976 7 лет назад

    Really nice tutorial, i like the way you explain the code.
    i hope you make more.

  • @YourJoy
    @YourJoy 6 лет назад

    What are your thoughts on Nick Cano's book? Love your stuff btw.

  • @BeatRunner69
    @BeatRunner69 Год назад

    you explained this REALLY fucking well

  • @krajdon3918
    @krajdon3918 4 года назад

    Awesome tutorial , i now know how to get process. Thank you !!

  • @FrateVideoMaker
    @FrateVideoMaker 6 лет назад

    Great and simple tutorial! Thanks so much!

  • @sendohikari3436
    @sendohikari3436 6 лет назад

    I can't believe I have understand every word you spoke! KEEP THE GOOD WORK UP! You earned yourself a subscriber!

  • @R4MMU5
    @R4MMU5 5 лет назад

    PBYTE is a pointer to a byte, but your gems are 2000 and byte can only store up to 255 (since 1111 1111 binary is 255 decimal).
    So why are you using PBYTE?
    Let me try to comprehend for a second:
    You are converting to 'PBYTE*' and since 'PBYTE' is already a 'BYTE*' that would mean that 'PBYTE*' is equal to 'BYTE**' (double pointer)?
    So the 2000 is actually stored as the address of a pointer instead of the value of a pointer (which is restricted to 1 byte).
    And since pointers have 32 bit, it can be stored like that.
    But wouldn't it be more practical to use something like 'INT_PTR' or 'INT*'?
    @Hex Murder

  • @Kutatita
    @Kutatita 4 года назад

    Wow i love you man, thanks for the tutorial.

  • @zanagi
    @zanagi 7 месяцев назад

    Its crazy simple... Damn. Thanks a lot

  • @ciller98
    @ciller98 3 года назад +2

    very bad. why are you using a address and not a pointer pointing to this addr?

    • @bayrock1337
      @bayrock1337 3 года назад

      I'm wondering the same thing.

  • @helloworld9730
    @helloworld9730 7 лет назад

    Subbed , liked. Question tho , how did you learn all that ? Yeah i understand by trying but what about someone who doesn't know programming at all , courses of C++ don't cover these memory things you were working with.

    • @HexMurder
      @HexMurder  7 лет назад +1

      you simply google what it is you want to do. so in this case writing memory in c++. you would eventually stumble upon the MSDN for writeprocessmemory and legit everything i taught you is there. MSDN will teach you the basics of just about anything you want to learn to an extent.

    • @salsamancer
      @salsamancer 6 лет назад

      One legit way to learn is to start by copying what others have done and subtly alter it to suit your purposes. It's how artists learn to paint/play music. It's not as rigorous as school learning but it will help you understand intuitively what ulyou are creating. Please note "copying" doesn't mean copy-paste, you still need to write it yourself!