I Reverse Engineered this Program Automatically.

Поділитися
Вставка
  • Опубліковано 23 гру 2024

КОМЕНТАРІ • 244

  • @afra1d828
    @afra1d828 10 місяців тому +170

    nice

  • @mouradlaraba
    @mouradlaraba 10 місяців тому +111

    even if i didn't understand anything, all i could to say is that the humanity is still good that person like you still exist, thanks a lot

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

      idk man, he's writing P*thon

    • @CX330Blake
      @CX330Blake 6 днів тому

      @@rawallon lol python is good for such this work tho

  • @cyberpunk1618
    @cyberpunk1618 10 місяців тому +54

    2:55 in and already 100% worth watching. Knowing I can use Ghidra without migraines is such a performance booster.

  • @n0o0b090lv
    @n0o0b090lv 10 місяців тому +158

    This ain't low level chanel this is high level chanel I learn a lot
    Also thx LLL

    • @basedfacistman
      @basedfacistman 10 місяців тому +9

      chanal

    • @n0o0b090lv
      @n0o0b090lv 10 місяців тому +7

      @@basedfacistman you see...
      FAST LOOK AN ALIEN
      Nah just a bird, oh look chanel. I wonder what happened

    • @vnc.t
      @vnc.t 10 місяців тому +2

      *channel

    • @n0o0b090lv
      @n0o0b090lv 10 місяців тому +4

      @@vnc.t the n went on vacation

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

      LLL feels more Supreme than Chanel

  • @sarimbinwaseem
    @sarimbinwaseem 10 місяців тому +37

    Whole thing went above my head but I still watched... Soon it will go in my head... IDK when

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

      Totally. So often for me, understanding comes through the side door unannounced.

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

      @@iwakeupsad haha.. yeah.. unexpectedly..

  • @EmberDRG
    @EmberDRG 10 місяців тому +25

    thank you for all these vids, they helped me with the basics of reverse engineering. I'm currently working on reverse engineering a ps3 game and it's been incredibly fun so far

  • @coffeegonewrong
    @coffeegonewrong 10 місяців тому +35

    Thanks for increasing the font size LLL 📱

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

    Honestly this is pretty interesting, I NEED MORE OF such content PLEASE.

  • @titaniumtomato7247
    @titaniumtomato7247 10 місяців тому +24

    8:40 I am not a fan when people make negative comments about someone's use of a tool to complete a task. Programming doesn't need more elitism or stupid battles.

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

      I read your comment before watching that part and I totally got the wrong idea lol
      Thought you meant that no-code "hackers" should not be looked down upon.
      To which I disagree.
      But by "tool" you were referring to the choice of language, to which I agree, hacking is a mess either way, the choice of language should not matter as long as it does the job.

  • @patriciopage6579
    @patriciopage6579 10 місяців тому +4

    How is it only now I find this gem of a channel? Dang youtube

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

    Looks like a lot of fun once you understand what's going on and know ways you could tackle the proble

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

    I've never commented on a video before, but I had to for this one. It's that good!

  • @EnderMega
    @EnderMega 10 місяців тому +4

    Thats how you know he is a _real manly_ C/C++ programmer, he apologies for using Python, and as a fellow C/C++ programmer I forgive you.
    Jokes aside, good video!!!

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

    For anyone here new to Python,
    if __ name __ == "__main__":
    main()
    prevents the main function from running when you import the file/script somewhere else. If you call a function after defining it without this check, it will run even if the file is imported, which you usually don't want
    Edit: had to insert spaces between the underscores and name because YT thought I wanted it italic. In actual code, it would be 2 underscores, name, 2 underscores (no spaces between); sometimes read as "dunder name" (concatenating/abbreviating "double underscore" to "dunder")

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

    bro I could watch this every day that was awesome

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

    Thank you, LLL, the font size saved me :)

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

    14:37 - Hold up. Where did these magic hex numbers come from? Why those offsets? Can they be determined in a cleaner way, rather than hard coded like that?

    • @PauloMEDCOMADVANCE
      @PauloMEDCOMADVANCE 6 місяців тому

      Did you find out this part? also need help here!

  • @williamshenk7940
    @williamshenk7940 Місяць тому

    excellent content!! enjoy your thorough analysis.

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

    I love this channel.

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

    Nicely done, Mr LLL.

  • @driden1987
    @driden1987 10 місяців тому

    Thanks for zooming in!

  • @zxcvb_bvcxz
    @zxcvb_bvcxz 10 місяців тому +4

    So *why* does angr have issues with stdin and how were you able to work out the fix?

    • @Eugensson
      @Eugensson 10 місяців тому

      Why - just speculating here, because cpp streams are weird.
      How - he has emulated the result of the text input himself, he put the string pointer on the stack (this is exactly what that cpp function does after fetching the text), and he has skipped the stdin function.

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

    The man, The myth, The legend. Found you again

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

    what if the binary was built in something else like Rust for example? whould then Ghidra reverse engineer it to C or to Rust?

    • @BinToss._.
      @BinToss._. 4 місяці тому

      The decompilation target language doesn't matter.
      If you can compile source code to *native* bytecode, you can reverse it if you know the bytecode's target ISA (e.g. x86, x86_64, AMD64, various versions of ARM, et cetera). Some bytecode is *not* natively compiled such as WASM, CIL, and Java bytecode.
      C is preferable for decompilation because it normally has very little abstraction and is *almost* 1:1 with assembly language. C runtimes or compilers usually inject boilerplate for setup of heap memory management.

  • @Phreak5h0w
    @Phreak5h0w 3 місяці тому

    What keyboard are you using? I like that it's not a crappy loud mechanical keyboard, that even your neighbours could hear through three walls. Is it the same in your current videos?

  • @MyCodingDiary
    @MyCodingDiary 10 місяців тому

    Great video! Very informative and well explained.

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

    I love your merch, I have the mousepad and the t-shirt, do you have any other plans for more reverse engineering or low level related merch? I would totally buy more

  • @dritterregenschirm2324
    @dritterregenschirm2324 15 днів тому

    1:46 How do you know that it's little-endian? Doesn't ARM support both?

  • @logiciananimal
    @logiciananimal 10 місяців тому

    Angr looks really neat. I suppose in some cases one runs into formal undecidability. How does it "cheat'"?

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

    I'm curious how angr works with ASLR enabled.

    • @nomio_o
      @nomio_o 10 місяців тому

      When running with correct permissions you can choose to disable ASLR for a spawned process which is likely what angr does. GDB uses the "personality" syscall to do this with the flag ADDR_NO_RANDOMIZE.

    • @llmnr3xp0sed
      @llmnr3xp0sed 10 місяців тому

      @@nomio_o ah, good to know.

  • @baranjan6969
    @baranjan6969 10 місяців тому

    Ngl I am pretty new to low level stuff but I recommend running it a bit first before even running strings

  • @ПавелСереда-н9д
    @ПавелСереда-н9д 3 місяці тому

    would be great to see more complicated examples of using angr

  • @jakub2631
    @jakub2631 2 дні тому

    3:50 thanks LLL!

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

    Great video, I'm new to this stuff. couple of doubts, when giving the address of the good and avoid case, why is only 4byte address is provided instead of entire address from memory map? secondly, how the hell do you learn all there stuff? since there are multiple libraries/tools.concepts used just for one problem. Impressive btw!

  • @mardiyonghasben1619
    @mardiyonghasben1619 3 місяці тому

    Goodluck...sir... perfect

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

    why on earth do you not have the link to the cracksme in the description man

  • @RandoYoutubeViewer
    @RandoYoutubeViewer 10 місяців тому

    Hey , very nice intro to angr, i have a bit that i didn’t get is why the first try with the 32.8 bit key space reached in the simulator the last address ? That for me doesn’t yet click

  • @Subcode
    @Subcode 10 місяців тому

    Can you make a video on how this would work when an application also has a DLL etc? ive tried this once on an application with a DLL and it got very confusing, really couldnt figure any of it out.

  • @P-G-77
    @P-G-77 7 місяців тому

    Awesome work !

  • @DropShotPat
    @DropShotPat 6 місяців тому

    I wasn't worried about the empty boxes, until you said something LOL.

  • @nedac279
    @nedac279 3 місяці тому

    Ik that’s it’s been a while, but thx LLL!

  • @Vazzible_gaming
    @Vazzible_gaming 6 місяців тому

    How do i find the CTF program, can you link it to me so I can do all the steps myself?

  • @PauloMEDCOMADVANCE
    @PauloMEDCOMADVANCE 6 місяців тому

    why the -0x58? where does it come from?

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

    I loved the video; I didn't understand anything, but it was an excellent video.

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

    Now crackmes are cool but whos gonna actually have good info on compiling osx/xnu kernel, modifying kernel/writing a kernel driver to disable debugging detection, bypass address randomization. What for? Oh yeah, just to bypass debug detection and also have a way to dump consistent traces. And just to begin on actually getting progress with 20mb+ binaries

  • @adershvarshnei5198
    @adershvarshnei5198 10 місяців тому

    thanks for increasing the size mr lll :)

  • @asseenontv247
    @asseenontv247 10 місяців тому

    Do you have any recommendations on books that are useful desk references for this stuff?

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

    I am looking forward, when we can take a binary and automatically turn it with AI in beautiful source code with comments etc.

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

    we finally got ghidra in dark mode

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

    do you prefer intel or at&t syntax?

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

      intel of course

    • @godnyx117
      @godnyx117 10 місяців тому

      @@grandmakisses9973 Based opinion

    • @atijohn8135
      @atijohn8135 10 місяців тому

      intel addressing syntax and at&t argument order ("mov rax (to) rcx" makes more sense than "mov (to) rcx: rax")

    • @godnyx117
      @godnyx117 10 місяців тому

      @@atijohn8135 The thing is, binary instructions follow the intel syntax. So, especially for those who create compilers, the AT&T syntax is confusing, even tho it makes more sense...

    • @flyinginthedark6188
      @flyinginthedark6188 10 місяців тому

      AArch64

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

    Thanks LLL

  • @monad_tcp
    @monad_tcp 10 місяців тому

    Is scanf still using self modifying code or something ?

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

    this is some dark art shit- only able to follow a little of it, but interesting

  • @monterraythehomeless
    @monterraythehomeless 5 місяців тому

    I needed the font size increase and I'm on desktop lol. Thanks LLL

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

    how can I change ghidra to dark mode?

  • @oliverpasquesi8068
    @oliverpasquesi8068 6 місяців тому

    Can you do a Ghidra tutorial pls?

  • @GameBacardi
    @GameBacardi 10 місяців тому

    ...I need practise "hello world!" again, 60th time

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

    Thanks for the Font LLL!!!!

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 10 місяців тому

    do you use computer with arm cpu?

  • @gringle8578
    @gringle8578 10 місяців тому

    Cool, next do Denuvo. Let's see how good you are!

  • @secret_7025
    @secret_7025 10 місяців тому

    Low level programming is the hardest my bro
    ReSearch about it.

  • @hoteny
    @hoteny 10 місяців тому

    cool. now how do i guess what a weird 8 byte value does?

  • @Ni7ram
    @Ni7ram 10 місяців тому

    yes, yes.. of course i understand all this

  • @ErikBongers
    @ErikBongers 10 місяців тому

    Can you crack how to exit vim?

  • @ffeliziani
    @ffeliziani 10 місяців тому

    Wait, how are you running arm code on your machine?

    • @tronosgamingwizard
      @tronosgamingwizard 10 місяців тому

      perhaps a VM

    • @ffeliziani
      @ffeliziani 10 місяців тому

      @@tronosgamingwizard does ghidra run on ARM? I guess with the magic of editing (or ssh) he could be on different machines

    • @tronosgamingwizard
      @tronosgamingwizard 10 місяців тому

      @@ffeliziani I'm unable to answer this one, mate.

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

      Sorry yeah the Q should have been for @lowlevellearning

    • @kamu38
      @kamu38 5 місяців тому

      @@ffeliziani It's Java. So if the JVM runs on ARM then it will (more/less) run.

  • @dtikvxcdgjbv7975
    @dtikvxcdgjbv7975 10 місяців тому

    The magic starts at 15:44 😃

  • @makebreakrepeat
    @makebreakrepeat 10 місяців тому

    Dark mode, let's go!

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

    you are the best

  • @braveitor
    @braveitor 10 місяців тому +4

    When machines take over us, I hope you speak for us all as you know their native language. Interesting to watch, don't hava a clue about how anyone can learn those skills... :D

  • @vsevolodalipov4375
    @vsevolodalipov4375 10 місяців тому

    May be a dumb question, but why not brute force it instead?

    • @kamu38
      @kamu38 5 місяців тому

      If you can do this technique then it's far superior to brute forcing. Brute force would take far longer.

  • @JM-is1vf
    @JM-is1vf 10 місяців тому

    Thanks for your channel. I would love it even more without the background music.

  • @Codingwannabe-cw1yd
    @Codingwannabe-cw1yd 10 місяців тому

    Thx lll for zooming in

  • @smocloud
    @smocloud 10 місяців тому

    Thanks LLL.

  • @mattshu
    @mattshu Місяць тому

    THANKS LLL

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

    Thanks triple o

  • @katchen2626
    @katchen2626 10 місяців тому

    what does SAT mean?

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

      satisfiability solver

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

    Great!

  • @hyperplano
    @hyperplano 10 місяців тому

    Waiting for LLL x LaurieWired video :)

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

    Wait are you a cuber as well?

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

    Thanks LLL

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

    Hi please make more

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

    Thanks tripple el

  • @MenkoDany
    @MenkoDany 10 місяців тому

    There's a piece of abandoned niche commercial software which I'd love to crack for archival purposes. Will this work on it? It's written in Delphi and it can be activated offline even though there was an internet activation option (which obviously doesn't work anymore).
    There is version 3.x which is still being sold even though there were no updates for 8 years or any activity from the dev whatsoever. Thing is, version 3.x is a joke. Well, 2.x was an actual joke, not worth a penny, and 1.x is the legendary version which I'd like to crack. I believe it would still be used today if the dev released a 64bit version like he promised :( The released version crashes way too often because of the ram limitation.

  • @shteatinggrin
    @shteatinggrin 10 місяців тому

    It’s so weird knowing that the NSA has a program named after the Godzilla monster

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 10 місяців тому +1

      Remember that it's still nerds inside NSA that are responsible for creating and maintaining this. If they can get away with it, they will.

    • @shteatinggrin
      @shteatinggrin 10 місяців тому

      @@VivekYadav-ds8oz Ofc, every major tech system has been built up and maintained by nerds. It’s still pretty wild regardless

  • @dtikvxcdgjbv7975
    @dtikvxcdgjbv7975 10 місяців тому

    You unbaked the bread!

  • @a_f_a_b
    @a_f_a_b 10 місяців тому

    Man you don't have to apologize for python. You don't have to apologize for anything!^_^

  • @DrDAC-go7hs
    @DrDAC-go7hs 2 місяці тому

    Thx 3xL

  • @blehbleh9283
    @blehbleh9283 10 місяців тому

    Symbolic Execution 🔥🔥

  • @RJ-or8bw
    @RJ-or8bw 6 місяців тому

    Thanks LLL

  • @rudymoralesjr
    @rudymoralesjr 7 місяців тому

    I need to learn how to do this proficiently so I can hack car ECUs for tuning. They made it so hard to tune cars these days...

  • @SadKris
    @SadKris 10 місяців тому

    the a/v desync lmao

  • @UnrealEngine_Master
    @UnrealEngine_Master 10 місяців тому

    nothing is clear, but very interesting 🤠

  • @semitangent
    @semitangent 10 місяців тому

    Thanks triple L - in the chat!

  • @almightyhydra
    @almightyhydra 10 місяців тому

    Meh, automating the reverse engineering takes the fun out of the problem :p if each of those functions was only checking one of the bytes, you could solve each fairly simply, I'd imagine.

  • @wrathofainz
    @wrathofainz 10 місяців тому

    Someone should write an ANGR-y UI for gui people

  • @quietusplus1221
    @quietusplus1221 6 місяців тому

    I have some experience with coding. The further this went on my head started spinning though. This is on another level, quite interesting ^^

  • @yurilsaps
    @yurilsaps 7 місяців тому

    I didn’t like that was necessary to use angr to solve the challenge

  • @rallokkcaz
    @rallokkcaz 10 місяців тому

    LFG!!!! LLG GANG GANG!

  • @billy-cg1qq
    @billy-cg1qq 10 місяців тому

    That angr math solver didn't make any sense lol

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

    Thanks LLL. Still needs to be bigger for my blind ass 😂