Yapping about Processes
Last week I finished up the blog post covering a technique for extracting a process invocation from the stack of a running process. It was super fun, and there’s even more I’d like to cover. I got some great feedback from David Karapetyan about adding some more concrete examples to the post with regards to the stack layout — maybe some xxd output to go along with it. I think it’s a great idea and I want to work it in.
I’ve been struggling with the meaning of some empty space at the bottom of the stack. There’s a pointer to the bottom of the stack, and then they subtract the size of a void pointer. Not sure why. Tried to git blame, got back to the point where the kernel switched to git. Tried the kernel-newbies IRC channel and mailing list, and emailed some people without any luck. Next move is to find out where this got introduced, or maybe hop into libc (?) to see if it uses that information in some useful way.
- I wrote a pretty awful shell script for generating a page with recent changes. The tilde club repo comes with a script for this, but it was pretty quick to write.
- I also installed ii, (my current favorite tool for creating IRC bots,) and tee’d the script output there as well. So our localhost IRC network has a feed of recent updates too!
- I ripped up my Zulip to IRC code to get a read-only copy of Zulip feeding into a separate localhost-only IRC channel. When I started, we didn’t have the make command available on the box, so I wanted to run the hacked script on my main VPS and pipe the output into ii on the other side. At first I tried using sshfs, but since it’s powered by SFTP, FIFOs don’t actually work. I ended up with an even more horrifying set of SSH tunnels and netcat commands that both worked and made me laugh. It was totally fickle and a plain blast to glue together.
Lastly, I’m working on the job interview preparation slog. I’ve been getting some good out of it, but it’s definitely a little bit deflating to end Hacker School this way. I need to find a balance between doing this and continuing all of the fun stuff I still have left in my head. I think I’ll get more done that way anyhow. I’m planning on working on this after it’s over, so maybe I should just wait! We’ll see!