原创 utumno - 0

因爲utumno0不可讀, 開始以爲用strace可以獲取一些信息 最後只是調用write,並沒什麼用(從這裏可以知道庫函數puts最後是調用write來實現的)最後利用xocopy把可執行代碼dump出

原创 utumno - 1

/* utumno1.c */ #include <stdio.h> #include <stdlib.h> /** stack environment of main * env * argv * argc * eip *

原创 utumno - 3

┌──────────────────────────────────────────────────────────┐esp+0x38 chr │0x80483fd <main> push %ebp

原创 x86 Registers

x86 Registers The main tools to write programs in x86 assembly are the processor registers. The registers are like va

原创 struct 互轉 xml

/** struct2xml.c */ #include <stdio.h> #include <unistd.h> #include "soapStub.h" #include "soapH.h" #include "nsmap.h

原创 Intel and AT&T Syntax

Intel and AT&T Syntax. Intel and AT&T syntax Assembly language are very different from eachother in appearance, and thi

原创 應用程序運行時的虛擬內存佈局 - 進程 - 線程

每一個進程都是類似上圖的內存分佈 當進程fork一個子進程的時候, 子進程拷貝父進程當前的內存空間, 包括環境變量, 棧空間, 堆空間, 代碼段, 數據段等等 所以在子進程調用exec類函數之前, 所有都是和父進程一樣的 所有線程共享所屬

原创 My Biggest Regret As A Programmer

A little over 20 years ago I was at a crossroads. My second company was petering out when our 5 years of building Delta

原创 生產者-消費者-信號量-共享內存-循環隊列

代碼轉自別處,稍有修改,主要是宏定義,我覺得不夠直觀的地方給改了,邏輯沒變 用信號量來控制隊列 #include <stdio.h> #include <time.h> #include <unistd

原创 behemoth - 07

#include <stdio.h> #include <ctype.h> #include <string.h> #include <stdlib.h> extern char **environ; int main(int arg