Getting Started Learning Reverse Engineering | Tips for Complete Beginners

Поделиться
HTML-код
  • Опубликовано: 3 июл 2024
  • A bit on How I got started reverse engineering and my tips for people wanting to start learning.
  • НаукаНаука

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

  • @Grayehz
    @Grayehz 3 года назад +208

    thanks for whispering in the video i was worried my mom might wake up :)

  • @rahnik258
    @rahnik258 3 года назад +67

    Hello,
    My Little Roadmap:
    1) Choose your architecture (intel, arm, etc)
    2) Choose your platform (windows, android, etc)
    3) Choose your target compiled language (c/c++, go, etc)
    4) Learn how binaries live in operating systems (memory layout, start_main, binary format, etc)
    5) Learn to map high level abstractions and Low level constructs, which is all the game of reversing (work with, different compiler options, different compiler, non-stripped versus stripped versions, etc)
    Workflow of RE:
    0) gather the binary for metadata
    1) gather symbols and strings
    2) gather addresses and entry points
    3.a) exploredynamically the process (loadtime, runtime)
    3.b) map asm constructs with high level abstractions
    4) turn things into RE knowledge
    Applied RE knowledge:
    -> decompilation
    -> modification
    -> documentation
    -> reproduction
    -> exploitation
    -> forensics
    -> plagarism
    -> any research
    Kisses!

  • @MalwareTechBlog
    @MalwareTechBlog  3 года назад +100

    Let me know what you'd like to see me do a video on next!
    Sorry for super quiet sound, my mic was facing wrong direction >_

    • @volks8426
      @volks8426 3 года назад +5

      Same type of vid but now taking this re knowledge and going into malware analysis. Good vid!

    • @volks8426
      @volks8426 3 года назад +16

      Or u can do a walkthrough of coding something quick in C and showing us ur thought process on how u would pick it apart in a disassembler.

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

      @@volks8426 Great idea!

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

      Marcus may you show how to run a dynamic analysis via ghidra? I heard it actually is possible to do dynamic on top of static analysis

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

      @@volks8426 I also agree, but I would prefer to use some dark-mode-command-line dissasembler, may be Radare2 since it fits and runs in every miserable hardware you can find, I actually hate Ghidra since it's not only heavy for your machine but ugly, you can't set any dark-theme to avoid burning your eyes.

  • @gbubemia
    @gbubemia 3 года назад +49

    Marcus is an international treasure. He should be protected by all means!

  • @miracdasmine
    @miracdasmine 3 года назад +25

    I wish you knew how your story inspired me to go into cybersecurity deeper and fierce

  • @sterlingarcher389
    @sterlingarcher389 3 года назад +25

    imo its also important for people that are new to self teaching things in general to make sure they learn at a very slow and steady pace and take small steps. when i had just started reverse engineering i struggled a lot because i tried to learn too much too fast and ended up understanding nothing. remember learning a little bit everyday beats trying to learn a lot in one day! :D

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

      Well said and thanks for the advice! :X

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

      I’d say that I 110% resemble that statement,,, lol.

  • @tomiibarrientos9440
    @tomiibarrientos9440 3 года назад +15

    I'm starting to learn reverse engineering and low-level, this is really helpfull. Thanks for the great content!!

  • @burddurplaysmc
    @burddurplaysmc Год назад +2

    I have never found a chanel more promising than this, while I have been tinkering around and learning myself, I have never been as much informed and directed as I have here on your channel.

  • @henchnerd9404
    @henchnerd9404 3 года назад +4

    i have been waiting for this video for so long thank you!

  • @robbie2044
    @robbie2044 3 года назад +3

    Few suggestions for anyone who wants to start with x86-x64 asm rce.
    1. find a resource that just explains what instruction does like intel manuals or some library. You will always go back to them anyway until far into the future. Probably even then.
    Don't learn how to write code in assembly. Do that much later if you want.
    2. learn about 25 - 30 "main" instructions and that is enough for starting. Doing that will ease your way into the language and when you need help, reference intel manuals or some other easy to access instruction library.
    3. write a program yourself in C\CPP and include everything you can think off - datatypes, functions, arithmetic operations, loops, structs, pointers, etc... Basically a "DisassembleMe.cpp". Disassemble it in IDA and apply your knowledge there and go slow. See how loops are represented, how functions are called with simple (a+b), etc...
    4. Add more stuff to DisassembleMe.cpp and keep going until you are comfortable enough to start adding WINAPI functions. Keep going.
    It is not easy and it was never meant to be easy but there it is. Save yourself countless dollars and TIME and start disassembling. It will be hard at first but if you push on you will be able to reverse other applications where source is not available. Good luck.

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

    brilliant stuff mate. you're a gem of the community.

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

    Thanks for making this series. Really appreciate the wisdom, and already learned a few things from the part 1 and part 2 videos. Liked the starting at the end and working back to find Windows main!

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

    Thank you, Marcus. I've already taken a beginner course on Open SSL and C. I have so much more to learn and your guidance is greatly appreciated.

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

    Your honesty is much appreciated..... Good luck

  • @duck3921
    @duck3921 3 года назад +8

    cool to see you making a video like this

  • @ianberdahl108
    @ianberdahl108 3 года назад +5

    This is super informative. I've always liked the concept. I know diff languages here and there so being able to read it is nice. But this is gonna help me in the long run. More vids Marcus pls brother.
    Much love!!

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

    Thank you so much, please keep uploading whenever you get time. Thanks again

  • @kimag3324
    @kimag3324 16 дней назад

    this guys channel is a literal goldmine of information

  • @smoothorama
    @smoothorama 3 года назад +4

    Marcus ASMR for reversers engineers.
    Serious: Keep up the good work!

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

    Truly speaking for me, there is nothing that can replace the reverse engineering section of Practical Malware Analysis also writing and reversing small C programs. That was just my experience though. I really liked your previous videos about reverse engineering challenges and it was very helpful seeing your thought process. Specifically when you mentioned something about string stacking and related it to how it is used by malwares. Now whenever I see it somewhere, I just remember Markus talked about this. It was Lit! Looking forward to the new videos. Perfect timing since it is summer soon. Very exited!

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

    Been waiting on this one!

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

    I really really want you to stay happier, I liked not because of that but instead I agree on everything you said. XD

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

    this was so awesome - Thank you very much for sharing your knowledge. :)

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

    That's some good mindset for resources & learning
    You're right, what matters is that if something was learned from a resource, that's a positive
    Good video!

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

    Thanks for giving us the right path

  • @Danny-SSH
    @Danny-SSH 3 года назад +2

    Great video, I always found myself frustrated by resources that didn't explain all the terminology used. This was something that often made me feel overwhelmed.

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

    Nice video I am excited to see more cool videos her.
    I was just learning Assembler in preperation for my RE course at University and found Yurichevs Book for the Basic Patterns in Assembly and the godbolt compiler explorer the most helpful :D

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

    Awesome man, I'm currently a web developer and I wanted to try to learn reverse engineering as a hobby.

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

    Wow this was very insightful for an introduction video
    Thank you for sharing

  • @dencam
    @dencam 3 года назад +5

    Thank you Marcus,
    Indeed you are an inspiration to many of us.
    Kindly in the next video, please show us examples or scenarios of practicing Reverse Engineering.
    Also, what books do you recommend for learning Assembly and C programming?
    Thank you please.

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

    Hi Marcus I come from France and it's been a long time since I know your story and it always impressed me to destroy viruses like wannacry and I also wanted to tell you that you were the boss, always good 😁😁

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

    thanks marcus is very important your recomendations

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

    I just found some interesting malware samples and tore them apart to the best of my ability. It’s definitely not the most efficient way to learn Assembly, but I’ve found it fun.
    (Also - I’ve learned that reverse engineering is sorta a last resort in malware analysis. It definitely has its place, but only alongside other techniques/tricks)

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

    very informative video thanks brother

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

    One way to learn assembly could be to buy something like a PIC and programme it to do random things like lighting a series of LEDs..

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

    Thank you!

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

    quite enjoyed this video. thank you. if you could provide some more technical overview of this that would be great too. i've been following Colin Hardy, here on youtube, and if you did the same format, i would love it!

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

    series of tutorial on reverse engineering ( for beginners) would be ideal…

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

    First comment and view Legend👑

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

    I love how relaxing you sound almost like asmr lol

  • @bhringer
    @bhringer 3 года назад +3

    If you're happy, then I'm happy.

  • @bob-ny6kn
    @bob-ny6kn Год назад +1

    My advice: read material thoroughly (slowly?) and practice.

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

    wow, the man who stopped wannacry is teaching me reverse engineering tips... neat!

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

    lets go!

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

    Dude... Your Vids are Awesome... You should be teaching courses for the idiots I mean the authorities on cyber forensics... Thank you! I'd pay to take your classes!

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

    respect

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

    Hey Marcus Which language you recommend to making my own tools ?

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

    ♥️

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

    can we get a malwaretech asmr vid?

  • @balighbenabdessalem2569
    @balighbenabdessalem2569 5 месяцев назад

    do you have any idea about FBDL , SSRF tool and ather tools to be a Bug hunter ?

  • @FilipeRocha._
    @FilipeRocha._ 3 месяца назад

    0:40 I'm Brazilian 🇧🇷, I didn't know that this "Nazaré Tedesco" meme was famous internationally 😂😂😂😂

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

    Hey Marcus do we need to a VM to do reverse engineering inside that?

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

      Probably safer way of doing it if looking at malware

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

    Editing comment. The jumps felt sudden. You could maybe try to polish up your j-cuts if that's a style you want to continue with.

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

      Mostly just lazy editing because I didn't have time to re-shoot segments

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

    will C++ work instead of C for this

  • @TheImpetuousDanny
    @TheImpetuousDanny 3 года назад +4

    Malwaretech asmr. Here for it.

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

    LOOL IT'S ASMR

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

    coool

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

    Salut Marcus comment as tu acquéri les connaissances en informatique étant si jeune

  • @NucleoType98
    @NucleoType98 3 месяца назад

    bro i like you...

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

    When you say learn “C” do you mean C++ or C# or both? (this is a noob asking a noob question)

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

    Man, i like your manner of speaking. It's quiet and to the point.
    Personally, the videos where the host starts with a loud voice and acts very excited tires me out.
    I guess I'm not a dog person - more of a cat person.

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

    Hey marcus I am vinnie 😂

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

    This video has some tips that could be helpful even if you're not a complete beginner. The baby face and your voice does make it seem like you're trying not to wake up your parents though LOL

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

      For some reason the lavalier mic makes it sound like I'm whispering, probably need to try something else.

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

      @@MalwareTechBlog It might help if you really try projecting your voice. But yeah another mic would probably help.

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

      @@MalwareTechBlog Instead of buying a new mic, I would suggest you to try the Air plugin from slate digital virtual mix rack. It helped me a lot when editing the audio for an interview video recorded with poor mic placement. It makes your voice sound more like it was projected into the mic. Hope it helps

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

    Is this ASMR? Get a little closer to the mic

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

      yes

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

      Jokes aside, thanks for the background! This is pretty helpful

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

    Sigh second

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

    First

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

    adopt me

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

    Wait isn’t this the WannaCry kid??

  • @Andrew-nm3vu
    @Andrew-nm3vu 3 года назад

    Are you the legend around my.doom?

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

    very good video. why don't you teach on youtube and earn money on youtube and patreon? you could earn more, you know? or go to ciso. hacking is not a job but a way of life. you could be a ciso or a ceo and have and use those skills outside of the main job. 🌍🌎🌏 hack the planet. love your videos

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

    Two thumbs up on taking advantage of multiple learning methods. Sometimes I like to watch a lecture or someone do something, other times I like to read in documentation at cppreference.com. Other times I watch hardware hacker projects like Ben Eater does to get the idea of how memory and cpu interact. Then it really comes together when I write a little tool to do something or figure out how to modify an existing tool.