👋 Hello, I'm Shruti.

Welcome to my page. Check out my blog! I also create fun challenges and publish writeups.

Here's my design portfolio.

P.S. I also write about movies. It's mostly just a cinephile's ramblings so you have been warned! ;)


Blog posts:

Disassembling Hello, World! in GNU Project Debugger

Before enrolling in the software security module for my Masters’ program, malware analysis seemed like a pretty daunting subject to me. This is not to say that it’s not daunting anymore, but it surely is more fun than I expected.

As I have very little knowledge of C and x86 assembly language, it does get a little confusing when our professor talks about static analysis and disassembling the binary malware code. So, I decided the best way to understand it is to do it myself. Like you unravel a piece of paper to understand how the origami was made.

Read more →

Segmentation fault while typecasting unsigned int to pointer: Solved

TL;DR: While typecasting an unsigned int into a pointer, 64-bit operating systems can run into segmentation fault error due to the size difference between an int and a pointer. To fix this error, use uintptr_t data type for the pointer instead of unsigned or signed int.


While going through the typecasting section in the wonderful book by Jon Erickson, I ran into a segmentation fault error. The unique thing is, I followed the same code by Erickson’s book but my compiler gave me multiple warnings, while Erickson’s code ran successfully without warnings or errors. So why was this happening? The answer could be in the way 64-bit systems work compared to 32-bit systems. Let’s look at the code.

Read more →

String to Bytes error Python: Solved

TL;DR- Python needs data in bytes format whenever it sends/receives data over a connection. Thus, using str(e) throws an error. To solve this, just change the data type from string to bytes. A great way to do this is by converting the string to bytes and specifying the encoding to make your life easier. You can do this with bytes(str(e), encoding='utf-8')


While writing a python script that executes commands on a SSH server, I ran into a unique error. The script established connection with an SSH server, received commands and executed them. I also added a try-except block. Here’s where python thew an error:

Read more →