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!
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)
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?
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.
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.
Hope you continue thi video series! good job
This is awesome! Are you planning to cover the import of shared libraries in your ELF?
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!
i went insane trying to make a 64 bit version of this. 10/10 would do again
Nice abilities !!!
let's hope he will continue further on that rhythm.
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)
Depends on what you mean by "use it", the software you wrote that comment on may have been using an x86 CPU after all
@@JobvanderZwan th-cam.com/video/oShTJ90fC34/w-d-xo.htmlsi=eBeR7BOIgp06Yvio
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
😉
He's using vi, not vim. Vi doesn't have visual mode.
Thanks David.
Next step is to write the microcode!
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?
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.
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.