(C++) Function Detouring Tutorial (Internal Game Hacking)

Sdílet
Vložit
  • čas přidán 7. 07. 2024
  • My first internal game hacking video, hopefully more on the way! :D
    Join my server if you need help or want to chat! / discord
    Source code and more on my patreon / nullterminator !
    Nullbase: github.com/NullTerminatorr/Nu...

Komentáře • 42

  • @mihalylorinc1364
    @mihalylorinc1364 Před 5 lety +33

    do an assembly tutorial please, there is really not much about it. good content as always tho.

  • @gangstasteve5753
    @gangstasteve5753 Před 4 lety +1

    that was a very good explanation at the beginning!

  • @winifix
    @winifix Před 4 lety +6

    Please could you explain how to convert this to x64, since _asm is not aupported

  • @Nilrem8
    @Nilrem8 Před 5 lety +3

    Why do you have len when it doesnt even matter because the relative address can only be 4 bytes long and the jmp is always 1 byte long?

  • @depriikid
    @depriikid Před 3 lety +1

    heya! this video is kinda old i know, i know. but just in case you're going to read this or.. anyone else with the proper experience.. i followed the tutorial and did end up with the same result, i also tried to rewrite it on my own a few times and happened to bump into things i can't quite explain. what's the reason for such return types we have to use for the dllmain and the actual thread, i seem being able to execute the code no matter if i leave the winapi out or use void as return type etc... kinda puzzling. also is there any reason we use DWORD as datatype instead of uintptr_t? it doesn't matter probably but i'm not sure. also i tried to write different assembly in my method but it doesn't change anything apparently. i checked the memory address in cheat engine and it does correctly jump into my function and NOPs the bytes i wanted to overwrite but it seems my assembly doesn't have any effect on the application (it's pretty much the same one you showed, probably slightly different but same procedure). when i put some console log in there instead it does actually print whatever i included in the console but assembly doesn't seem to work for me. i included the assembly past my console log to get back in memory so that works heh. if you have any idea i would really appreciate the help, thanks a lot for the video anyway it was really helpful and combined with other material very good material to get a better understanding of the topic!

  • @waleedahmed7677
    @waleedahmed7677 Před 4 lety +1

    which option you selected in new project->C/C++-> WHICH option? is it .dll or windows console?

  • @TinyMeatPete
    @TinyMeatPete Před 5 lety +9

    Hi mate, great tutorial. I was just wondering, why would you use internal over external? They seem to both do the same thing. Is it something to do with speed or detections or something? Just wanna know xD
    cheers Pete :)

    • @null7953
      @null7953  Před 5 lety +2

      Thanks! Basically, they are both very different and allow you to do vastly different things but one isn't always better than the other it just depends on whats best for you :)

    • @TinyMeatPete
      @TinyMeatPete Před 5 lety +1

      @@null7953 Ohh I see. Thanks for the reply my dude. Also could you make a tutorial on how to make an esp? I know you've made one in your multihack tutorial, but I like voice tuts better. Cheers :)

  • @trad_rashtra_sevak
    @trad_rashtra_sevak Před 2 lety

    Hey you didn't nop the unused bytes, what happened to those 3 unused bytes? are they auto nop'ed by the compiler?

  • @casualgamer1791
    @casualgamer1791 Před 4 lety

    nice one. keep it up!

  • @Humnbrd
    @Humnbrd Před 5 lety +1

    yay

  • @xtkb1gpaster4
    @xtkb1gpaster4 Před 5 lety +1

    king

  • @kianjs
    @kianjs Před rokem

    how do you know that the hp is stored on the eax register?

  • @dennis2599
    @dennis2599 Před 3 lety +1

    22:51 I like that Fu*********** folder

  • @alexasmr3047
    @alexasmr3047 Před 5 lety

    Thanks. assembly tutorial would be cool

  • @m4gicpi3
    @m4gicpi3 Před 5 lety +1

    thank you

  • @UnboxTheCat
    @UnboxTheCat Před 2 lety +1

    You used 8 bytes for those two lines in the assembly, but only overrode the first 5 bytes, what happened to the remaining 3 bytes? Does it just sit there and do nothing?
    When you jmp forward, it uses relative adress, but when you embed assembly code to jmp backward, it uses the absolute address, is this the intended behavior?
    In your custom assembly code, you change the assembly to sub eax, 0, but never mov the eax back to the original value, this seems a bit misleading. For instance, if I do sub eax, 999, the value will in fact remain unchanged due to I never mov the eax back.

    • @marcelgraf5520
      @marcelgraf5520 Před 2 lety +2

      I havent seen the video fully yet. But usually if you remove more bytes than you need, you fill in the gaps with no ops
      edit: in this case you would need 3 no ops then.
      edit2: I watched the video fully now. he jumped forward 8 bytes from the hook so the program should continue as usual

    • @unsavourylittlerunt
      @unsavourylittlerunt Před rokem

      ​@@marcelgraf5520 I'm pretty sure what they're talking about is the fact that he broke the line of code that comes after sub eax,7 and never restored it, he just skipped it. What he should've done (although it doesn't matter in this example, sub eax,0 is already silly when you could just nop it directly) is to add the next line of code to his code injection, as in some cases it could make the game crash

  • @JackAdams0
    @JackAdams0 Před 10 měsíci

    great tutorial. Will this work in x64 processes too? inline assembly doesn't work in x64 architecture visual studio. but what about the detour you showed?

    • @evitable1337
      @evitable1337 Před 9 měsíci +4

      no it wont, for x64 it's different because the jmp instruction is FF 25 00 00 00 00, etc it has 14 bytes minimum

  • @ivankurniawan6825
    @ivankurniawan6825 Před rokem

    How do I make it externally?

  • @rollo4127
    @rollo4127 Před 5 lety

    Can you make a tutorial about internal game hacking

  • @DarkbrainixSlickerTH
    @DarkbrainixSlickerTH Před 2 lety

    nice tut

  • @le_plankton
    @le_plankton Před rokem

    my man is epic

  • @rick.prime137
    @rick.prime137 Před rokem

    thx

  • @depralexcrimson
    @depralexcrimson Před 5 lety +3

    Dude I love your tutorials, I downloaded them all and I really want and hope to learn this stuff :) Because I love catching cheaters and I need to know how shit works before catching them, I'm not catching CSGO cheaters in particular but I do love to check pc's remotely in 1.6.
    Also I'll donate whenever I can, I promise :)

  • @jamesakaiz0124
    @jamesakaiz0124 Před rokem

    finally i found game hacking videos thank help me alot . can you make video persent1 hook or expl the consept hook bro ?

  • @kranefivem
    @kranefivem Před 5 lety

    or you can read the current value, compare it with when it changed and add the result, it works better if the health taken is random, like getting shot by different weapons

  • @mkdustan
    @mkdustan Před 5 lety +1

    skrt skrt nice voice

  • @ThePCxbox
    @ThePCxbox Před 3 lety

    Assembly tutorial plz? Also sick beats. Its sex musik

  • @corejake
    @corejake Před 2 lety

    okay

  • @-dead-3787
    @-dead-3787 Před 4 lety

    Error LNK1120 1 unresolved externals Function Detouring Tutorial C:\Users\oneon\source
    epos\Function Detouring Tutorial\Debug\Function Detouring Tutorial.exe 1
    Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) Function Detouring Tutorial

  • @RandomRepository1024
    @RandomRepository1024 Před 11 měsíci

    jmp inside _declspec(naked) void ourFunc() dont return to right address.

  • @jacklin8979
    @jacklin8979 Před 2 lety

    Please could you explain how to convert this to x64, since _asm is _declspec(naked) not aupported