3 Handmade Linux x86 executables: Loops and conditionals

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 15

  • @amikomalania3406
    @amikomalania3406 3 ปีที่แล้ว +8

    Hope you continue thi video series! good job

  • @broepi
    @broepi 3 ปีที่แล้ว +6

    This is awesome! Are you planning to cover the import of shared libraries in your ELF?

  • @codecraftercc
    @codecraftercc 2 ปีที่แล้ว +2

    i hope u know how cool that is lmao
    i searched about two years ago how to do that and found nothing so i didnt do anything in that direction, but now i am able to do some asm testing, thx!

  • @Borodinskyy
    @Borodinskyy 23 วันที่ผ่านมา +1

    i went insane trying to make a 64 bit version of this. 10/10 would do again

  • @HumbleHuman-k7g
    @HumbleHuman-k7g 3 ปีที่แล้ว +1

    Nice abilities !!!
    let's hope he will continue further on that rhythm.

  • @Brickostan
    @Brickostan 3 ปีที่แล้ว +3

    Really interesting videos you've made (at least for me as nerd).
    I'm not going to try to write programs this way myself - but before watching these videos I didn't know anything about ELF. Now I know some.
    And a little more x86 machine code (not that I'm ever gonna use it in real life)

    • @JobvanderZwan
      @JobvanderZwan 11 หลายเดือนก่อน

      Depends on what you mean by "use it", the software you wrote that comment on may have been using an x86 CPU after all

    • @Brickostan
      @Brickostan 11 หลายเดือนก่อน

      @@JobvanderZwan th-cam.com/video/oShTJ90fC34/w-d-xo.htmlsi=eBeR7BOIgp06Yvio

  • @oleh6738
    @oleh6738 3 ปีที่แล้ว

    At 2:31 you can use CTRL+v to enter visual block mode, select all wrong byte count and overwrite them with:
    c space space ESC
    😉

    • @totally_not_a_bot
      @totally_not_a_bot 3 ปีที่แล้ว +3

      He's using vi, not vim. Vi doesn't have visual mode.

  • @shk_huz
    @shk_huz 3 ปีที่แล้ว

    Thanks David.

  • @Mozartenhimer
    @Mozartenhimer 3 ปีที่แล้ว +3

    Next step is to write the microcode!

  • @nickpelov
    @nickpelov 3 ปีที่แล้ว +1

    I noticed something interesting. The program never reaches the exit syscall and doesn't have and error handing for write, and yet when the pipe (to head) was closed. A after quick googling I saw that SIGPIPE is sent to the process when writes to a "broken" pipe. I know that singlals have handlers and some signals have default handlers, but I thgought that the default handler is in the executable, generated by the compiler. So if the default handler is not in the executable itself does it execute as a part of the process or it's a part of the kernel containing the code "kill " ... wait kill also sends a signal. So how does a code (default handler) executes as a part of this program?

    • @Winnetou17
      @Winnetou17 3 ปีที่แล้ว

      Good question! I'm quite novice in these things, but I guess that if a program doesn't have a signal handler to some specific signals, the OS simply SIGKILL the process ? As in, actually terminates it, no more signal sending.

    • @rsa5991
      @rsa5991 3 ปีที่แล้ว +5

      The default handler is part of the kernel. However, it does not contain "kill ", it instead contains "exit(some_error_code)". So, it doesn't send a signal to terminate, it terminates the process directly.