Introduction to Reverse Engineering and Debugging

Поділитися
Вставка

КОМЕНТАРІ •

  • @ameerhamza4017
    @ameerhamza4017 10 місяців тому +8

    Stay happy 🎉 Stephen. Please make a whole playlist on reverse engineering. Thank you

    • @OffByOneSecurity
      @OffByOneSecurity  10 місяців тому +5

      I will definitely continue to add more. It's important to knock out some basics before approaching more complex areas. I'm looking forward to it.

  • @piusgabula
    @piusgabula 10 місяців тому +2

    This video just made reverse engineering look so easy

    • @OffByOneSecurity
      @OffByOneSecurity  10 місяців тому +3

      It's definitely not as intimidating as some make it out to be; however, it can certainly get quite complex, especially when dealing with encryption routines, obfuscation, the construction of arguments to function calls in complex applications, etc... The good news is, it's a pretty linear curve and not exponential. If you continue to build your knowledge up practically, the sky's the limit!

  • @netbreeze
    @netbreeze 10 місяців тому +1

    Thank you, Stephen 💯, more knowledge

  • @0xhhhhff
    @0xhhhhff 6 місяців тому +2

    Stephen always da best

  • @stereosteve1
    @stereosteve1 10 місяців тому +2

    This is gold. Thanks so much

  • @Ivo--
    @Ivo-- 9 місяців тому +1

    Thanks Stephen! "Basic" video idea: Common causes for "SP analysis failed" in IDA and how to deal with them.

    • @OffByOneSecurity
      @OffByOneSecurity  9 місяців тому +1

      Good idea. It's either really easy to fix, or really hard to fix. haha. Showing the usual way that fixes it could be a quick upload. Thanks for the suggestion.

  • @Aaron-he8nj
    @Aaron-he8nj 4 місяці тому +1

    This is good stuff, but so over my head. 🤣 I even have a CS degree and I can only follow along what your saying so far. Great video though.

  • @anastasedukundabera-de3oi
    @anastasedukundabera-de3oi 5 місяців тому

    Thanks Stephen! Can you please plan another video for reverse engineering of Android!?

  • @SethOpana
    @SethOpana 10 місяців тому +1

    Thanks Stephen :)

  • @jasonfavors2356
    @jasonfavors2356 10 місяців тому +1

    😮 You are my younger role model!🦸🏻‍♂️And you’ve created an outstanding service to humanity.
    As you said in the video about RDP, “Don’t just turn it on and assume that it works.”
    I would’ve assumed just that way lol! Now I know that setting up RDP for remote servicing involves validation by logging in and making sure that I can authenticate. Otherwise, I could be wasting our time requesting help that I am unknowingly setting up for failure.
    I can’t wait to note the rest of this video.
    Thank you!

    • @_RaVeN33
      @_RaVeN33 9 місяців тому

      He's my favorite

  • @adonyz666
    @adonyz666 10 місяців тому +3

    i wish i could be at this level. better yet to single handily make a 5 - 7 vuln exploit

    • @OffByOneSecurity
      @OffByOneSecurity  9 місяців тому

      Repeat the steps in the vid, and then continue onward. There's no reason why you can't start finding vulns. Put in the work, expect to be frustrated (as we all get that way!), and focus on an attack surface.

  • @problemZ-uf3qj
    @problemZ-uf3qj 10 місяців тому +1

    Hope to see more from this series! By the way is this is win7? Is it safe in 2024 to use it anymore!

    • @OffByOneSecurity
      @OffByOneSecurity  10 місяців тому +3

      haha, Windows 7 wasn't even safe when it was introduced. That specific system you're referring to in this vid is used for some unsigned hardware and driver items. This vid was all Linux.

  • @lPlanetarizado
    @lPlanetarizado 9 місяців тому

    hi, i have a question, when you reverse ing. windows drivers and kernel stuff, how do you identifiy a potential bug? do you look at specific patterns ? for example search user controlable data

    • @OffByOneSecurity
      @OffByOneSecurity  9 місяців тому

      Often it's done via fuzzing. For example, with drivers, you may want to understand the supported IOCTL's for a given driver and then look to find a way to mess with the input and output buffers. The bug will mostly likely be obvious as you'll get a BSOD (Windows). Historically, it was common to update the output buffer address (via a bug) to be an entry in the HAL Dispatch Table. Then in userland, you call a function that in turn calls the address you overwrote in the HAL Dispatch Table, getting you code execution. Same with TTF (font) bugs. Mostly done via fuzzing.

    • @lPlanetarizado
      @lPlanetarizado 8 місяців тому

      but for fuzzing drivers you need a VM right? im not familiar with fuzzing drivers

  • @dato3767
    @dato3767 9 місяців тому

    Maybe silly question, but i'm new in this field. at 1:35:40 why did it stored our printf string data in heap that we allocated and not in stack?

    • @OffByOneSecurity
      @OffByOneSecurity  9 місяців тому +1

      The printf() function simply prints out the string passed to it. The data it prints when compiled is stored in the .data segment. The malloc() and memset() functions are working with the heap in this example.

    • @dato3767
      @dato3767 9 місяців тому

      @OffByOneSecurity Sorry for the incorrect timestamp. at 1:33:25 aren't those heap chunk addresses that we allocated? My question was why it stored the string data we printed out using puts at those specific addresses?

  • @Ec-reate
    @Ec-reate 10 місяців тому +2

    Idapro pls!

    • @OffByOneSecurity
      @OffByOneSecurity  9 місяців тому

      I just did one on recreating undocumented structs! More to come on this Friday.