My Avatar

Shilong ZHAO

Monitor Process Event with Timeout

Generally speaking, the events in an operating system are either related to file, signal, or process. For a file descriptor, the possible events could be ready to read, write etc; for a signal, the events could be upon reception; for a process, the events could be upon exit, upon calling

1
exec
or
1
fork
etc.

Read

Nuit du Hack CTF Matriochka

Question description: “Can you help me? Recently, I found an executable binary.

Read

Jos Lab2 Notes

Goal

Read

x86 History and Memory Models

8080

Read

Autoconf Automake Notes

 

Read

Code Browsing: A Quick Guide to Cscope & Ctags

 

Read

Markdown Gramma

Heading

Read

Some GNU Make Notes

Syntax

Read

CVE20160728 Exploit Code Explained

CVE-2016-0728 is a bug related with Linux keyring, it occurs that I use this utility from time to time. So it’s a good chance to see what is happening. This post just serves to understand the exploit code. For more details of the bug, see the original post in [1].

Read

Secure Boot, Signed Modules and Signed ELF Binaries

Secure boot is a booting feature of Unified Extensible Firmware Interface (UEFI). Secure boot secures the boot process by preventing the loading of drivers or OS loaders that are not signed with an acceptable digital signature.

Read

Docker on Mac OS

On Mac or Windows, it lacks the native running environment for containers, thus a virtual machine is needed.

Read

Security-Enhanced Linux

Linux direct access control (DAC) is based on the user and group information: processes have user and group (real and effective), files have user/group information and access bits.

Read

Libcurl and OpenSSL for Android

In the previous post Start Android Build Environment we have talked about how to configure the Android build system. If you have not read it and you are not sure what it is, then it’s better that you skim through it before continuing this one.

Read

Start Android Build Environment

It is assumed that you are familiar with Linux and Android. It will be very helpful if you are familiar with GNU toolchain (Autotools, Make, etc), since the concepts here in Android are quite comparable with that in Linux.

Read

Algorithmics for Hard Problems Notes

This post is an excerpt from the theory part (chapter 2) of book Algorithmics for Hard Problems. Honestly, It is practically not quite useful but provides a mathematical view into algorithms, which is very interesting.

Read

Understanding Linux Processes, Memories and Pages

A Linux process is represented by structure

1
struct task_struct
, defined in
1
<linux/sched.h>
. The structure is called a process descriptor and contains all the information about a specific process. The
1
state
field of process descriptor, for example, gives information about the current state of the process.

Read