Beginner Reverse Engineering | Part 2: Compiling and Decompiling (Ghidra + IDA)

Sdílet
Vložit
  • čas přidán 19. 05. 2021
  • An introduction to C compilers and decompilers, how compile order and optimization works, and tricks you can use to speed up reverse engineering. Examples given in both Ghidra and IDA.
  • Věda a technologie

Komentáře • 49

  • @MalwareTechBlog
    @MalwareTechBlog  Před 3 lety +50

    Everyone was asking for Ghidra content, so here's the best of both world! Let me know what you want to see next.

    • @mpdragon33
      @mpdragon33 Před 3 lety +7

      More complex sample for analysis.

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

      @@mpdragon33 Same with me

    • @sergiomazariego_
      @sergiomazariego_ Před 3 lety +6

      your malware reversing methodology, maybe a complete video about you reversing some packed malware, personally, if I can see all your process the better, even if that takes hours haha :)

    • @testme7073
      @testme7073 Před 3 lety +3

      I'd really love to hear your impressions of malware both from writing it and reversing it.

    • @monicapardeshi
      @monicapardeshi Před 3 lety +2

      How to reverse other languages like C++ or Go

  • @retroguy74
    @retroguy74 Před 3 lety +15

    These "jump into the deep end" type videos are great for learning these types of concepts, or really programming in general. I think the small step, "here is a for loop", etc. is fine, but many people learn better by jumping into the meaty stuff like this right away. Really enjoy it.

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

      trying to reverse engineer compiled binaries without knowing basic ASM instructions is pretty stupid, that gives me script kiddie vibes.
      you learn the instruction set first, then you reverse engineer.

    • @Roman-uy7qp
      @Roman-uy7qp Před rokem +3

      @@ChristopherGray00 I think some people find it easy to learn by practiscing, not just theory.

  • @jgurtz
    @jgurtz Před 3 lety +7

    Nice, very cool to see Ghidra and IDA side by side

  • @KenPryor
    @KenPryor Před 3 lety

    I really appreciate these videos. I like seeing both IDA and Ghidra, so I'm happy with either or both being shown. I like that you're starting out with simple code, as that really helps me understand better than if you were diving into the deep end of with something more complex.

  • @granttapp2875
    @granttapp2875 Před rokem

    How have I only just found these videos! Would love some more of these introduction to RE!

  • @Demonslay335
    @Demonslay335 Před 3 lety +2

    Ah, I never knew the compiler optimized loops in that way, definitely seen my fair share of that in custom-rolled crypto functions. Your last statement about wondering wtf the dev was thinking vs it really being the compiler definitely applies all too often. 😅

  • @thet0wsif
    @thet0wsif Před 7 měsíci

    That was a really helpful video! basic but deep understanding, thanks!

  • @invalid5777
    @invalid5777 Před 3 lety

    Every day I wait for a new tutorial

  • @yeetyeet7070
    @yeetyeet7070 Před 3 lety +4

    yess more beginner stuff, love you my dude

  • @tomiibarrientos9440
    @tomiibarrientos9440 Před 3 lety

    Thank you for the great content !!!

  • @zeeshanparvez5235
    @zeeshanparvez5235 Před rokem

    What a brilliant video.

  • @user-gq9et8tc1p
    @user-gq9et8tc1p Před 3 lety

    please record a few videos on how to decipher strings with malware reverse and how to normalize the runtime graph. what tactics are commonly used in malware analysis would also be interesting to hear. The topic of binary comparison of microsoft patches is also very interesting. Thx a lot bro.

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

    finally part 2

  • @invalid5777
    @invalid5777 Před 3 lety

    this is awesome!

  • @codyverdes3289
    @codyverdes3289 Před 3 lety

    THANK YOU FOR THIS!

  • @donovanvanderlinde3478

    Thank you for the content

  • @redchameleon613
    @redchameleon613 Před 3 lety

    Any advice on the best method to add your reverted function back to the application. So, let's say you have reverted one function and want your version of the function to be used by the desktop app, then what do you do? Compile it to a library and then?

  • @syrefaen
    @syrefaen Před 3 lety

    Fantastic, I love these. Your examples her are just perfect to get a better understanding!

  • @XxLIVExX24
    @XxLIVExX24 Před rokem

    @MalwareTechBlog In regards to your mention @11:20, my best guess why the compiler chose to reduce the iterations by a factor of 4 instead of 5,6,7 or more, was because it used up all the registers it wanted that could hold variables. In the pseudocode for the optimized code, you can see how the compiler declared variables v3-v7 whom correspond to ecx, edx, esi, eax, & edi. Are there any more registers for the compiler to use? Because if not, then the compiler would need more instructions or memory to hold other variables.

  • @ASCENDANTGAMERSAGE
    @ASCENDANTGAMERSAGE Před 2 lety

    I think the compiler did four because a lot of vector registers are exactly int*4 (or whatever primitive) in size.

  • @devilknowyou7733
    @devilknowyou7733 Před 3 lety

    Sir I am your big fan

  • @hakeemonipede8358
    @hakeemonipede8358 Před 2 lety

    Please continue

  • @daprince6559
    @daprince6559 Před 3 lety

    ex4 possible?

  • @user-rn9hz4nj2b
    @user-rn9hz4nj2b Před 3 lety

    how do i decompile pyarmor

  • @z-corp
    @z-corp Před rokem

    Please bring back reverse engineering... From basic to advanced and ollydbg also

  • @euclidyrdear5324
    @euclidyrdear5324 Před 3 lety

    Hi MalwareTech, i have been wondering your path to becoming a pro reverser. I want to know how you understand the assembly instruction very fast without looking it up on the internet while cracking. I have studied the basics of assembly but cannot interpret it very fast with a glimpse. So do i need to write some program in assembly and use all assembly instructions there first, then come to cracking later?
    PS. Not relating to this video btw

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

      Just practice yo.You will keep up with that speed some time in future.He is doing programming for many years.He kept on practicing because of that he is where he is now.Do what you want to do.Make mistakes.You will learn something because of that.See his getting started in reverse engineering first video.Every golden point is present there.Just try something.Then try again.If u feel exhausted with trying about something try that in a new way or if you feel exhausted with those ways then figure out what you are missing and learn. with that look what u need to do after.What you need to do is to keep trying no matter what will happen.You will learn something because of that.Focus on learning something.There is no a-z path for you.Your path can be of anyway.See liveoverflow's youtube video on how to get started with hacking.It will definitely help us.Eventhough it is not relevant for you but definitely it will help you to get confidence in what want to do.Just fucking see it.Don't neglect that video and my advice.If you do what i said you will definitely thank me one day.

  • @daprince6559
    @daprince6559 Před 3 lety

    ex4 possible

  • @ahmedmani1051
    @ahmedmani1051 Před 3 lety

    hmm so optimized complicated code is pretty much impossible to decompile and make any sense of? other then that great video

  • @justknot4481
    @justknot4481 Před 3 lety

    can you do some thing in lua ? 🤪😉

  • @mldalex
    @mldalex Před 3 měsíci

    everything is open source if you can read assembly

  • @victortobon711
    @victortobon711 Před 3 lety

    Oye wey no entiendo el ingles

  • @allurbase
    @allurbase Před 3 lety

    The compiler could optimize it even more if it just set eax to 5050, just sayin...

  • @sikobpiko1066
    @sikobpiko1066 Před rokem

    can you please send the code browser program....thanks

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

    5:23 please next time PLEASE say total += number

  • @rewatsingh1380
    @rewatsingh1380 Před 2 lety

    Your voice is like, Forest Gump

  • @GetWisdomTV
    @GetWisdomTV Před 8 měsíci

    Advertisement in disguise of tutorial against an excellent and free opensource product ☹️.