- 博客(134)
- 资源 (11)
- 收藏
- 关注
原创 习惯重于方法 - 书籍
每一本书籍分为三列, 第一列为书名, 第二列为简介或者描述, 第三列为阅读完成的时间, 第四列为我对书籍的评分it类书籍已读Advanced Programming in the UNIX® EnvironmentUnix/Linux 应用层程序开发必备xxxx95linux内核0.11完全注释
2016-05-03 17:56:33
527
原创 kernel-000-bootsec.s
计算机启动流程初期过程简述:计算机上电, 给cpu某一引脚一个脉冲, 初始化寄存器的值cs:ip 指向 0xfffffff0跳转到BIOS某处执行BIOS把MBR加载到0x7c00处, 并跳到此处执行MBR把自己转移到0x90000处, 并继续执行把setup程序载如到0x90200处 (通过BIOS中断实现)把system载入到0x10000处 (通过BI
2016-04-27 11:45:19
563
转载 生产者-消费者-信号量-共享内存-循环队列
代码转自别处,稍有修改,主要是宏定义,我觉得不够直观的地方给改了,逻辑没变用信号量来控制队列#include #include #include #include #include #include #include #define
2016-04-20 14:48:23
1410
转载 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 Deltagraph for the publisher ended (they wanted to move into the nascent internet spac
2016-04-15 16:16:40
560
转载 WeChall - overthewire
WeChall ScoreboardOverTheWire makes use of a scoreboard provided by WeChall to allowplayers to track their own progress and promote some healthy competitionbetween players. To make use of this sco
2016-04-13 15:08:05
1104
原创 utumno - 7
root@today:~/Desktop/misc/utumno/utumno6# ssh utumno7@178.79.134.250utumno7@178.79.134.250's password: totiquegaeutumno7@melinda:~$ mkdir /tmp/utu7utumno7@melinda:~$ cd /tmp/utu7utumno7@melind
2016-04-13 15:02:39
806
原创 utumno - 6
root@today:~/Desktop/misc/utumno/utumno6# ssh utumno6@178.79.134.250utumno6@178.79.134.250's password: eiluquiethutumno6@melinda:~$ mkdir /tmp/utu6utumno6@melinda:~$ cd /tmp/utu6utumno6@melind
2016-04-13 14:48:53
1273
原创 utumno - 5
root@today:~/Desktop/misc/utumno/utumno5# ssh utumno5@178.79.134.250utumno5@178.79.134.250's password: woucaejiekutumno5@melinda:~$ mkdir /tmp/utu5utumno5@melinda:~$ cd /tmp/utu5utumno5@melind
2016-04-13 14:45:19
684
原创 utumno - 4
root@today:~/Desktop/misc/utumno/utumno4# ssh utumno4@178.79.134.250utumno4@melinda:~$ cd /tmp/utu4utumno4@melinda:/tmp/utu4$ gdb -tui /utumno/utumno4(gdb) layout asm(gdb) b *main+108Breakpoint
2016-04-13 14:43:03
696
原创 应用程序运行时的虚拟内存布局 - 进程 - 线程
每一个进程都是类似上图的内存分布当进程fork一个子进程的时候, 子进程拷贝父进程当前的内存空间, 包括环境变量, 栈空间, 堆空间, 代码段, 数据段等等所以在子进程调用exec类函数之前, 所有都是和父进程一样的所有线程共享所属进程的环境变量和栈空间
2016-04-08 16:47:16
493
原创 utumno - 3
┌──────────────────────────────────────────────────────────┐esp+0x38 chr │0x80483fd push %ebp │esp+0x3c cnt │0x80483fe mov %esp,%ebp │es
2016-04-08 16:41:53
702
转载 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 this will lead to confusion when one first comesacross AT&T syntax after having lea
2016-04-08 14:06:30
611
转载 x86 Registers
x86 RegistersThe main tools to write programs in x86 assembly are the processor registers. The registers are like variables built in the processor. Using registers instead of memory to store val
2016-04-07 11:26:47
536
原创 utumno - 2
root@today:~# ssh utumno2@178.79.134.250utumno2@178.79.134.250's password: ceewaceiphutumno2@melinda:~$ cd /tmp utumno2@melinda:/tmp$ mkdir utu2utumno2@melinda:/tmp$ cd utu2utumno2@melinda:
2016-04-07 10:53:04
525
原创 utumno - 1
/* utumno1.c */#include #include /** stack environment of main * env * argv * argc * eip * ebp * align * stack of main *//** stack environment of run * filename + 3 * <== ebp + 0x0
2016-04-07 09:22:38
668
原创 utumno - 0
因为utumno0不可读, 开始以为用strace可以获取一些信息最后只是调用write,并没什么用(从这里可以知道库函数puts最后是调用write来实现的)最后利用xocopy把可执行代码dump出来gcc xocopy.c -o xocopy -m32./xocopy /utumno/utumno0./xocopy -a 0x08049000 /utumno/utumno
2016-04-07 09:00:59
1384
转载 这只猩猩很难控制 - Two star programming
Two star programming2013-01-08 • C, Torvalds,Algorithms •46 CommentsA few weeks ago Linus Torvalds answered some questions on slashdot. All his responses make good reading but one in par
2016-03-23 16:42:23
651
原创 behemoth - 07
#include #include #include #include extern char **environ;int main(int argc, char *argv[]){ char *argv1 = argv[1]; /* 0x21c */ int envcnt; /* 0x218 */ int slen; /* 0x214 */ char buf[512]
2016-02-23 17:36:00
601
原创 behemoth - 06
/* behemoth6.c */#include #include #include #include int main(int argc, char *argv[]){ FILE *fp; char *buf; fp = popen("/behemoth/behemoth6_reader", "r"); if (fp == NULL) { puts("Fail
2016-02-23 17:33:00
461
原创 behemoth - 05
#include #include #include #include #include #include int main(int argc, char *argv[]){ struct sockaddr_in toaddr; /* 0x3c */ int sendstat; /* 0x38 */ int sock; /* 0x34 */ struct hostent
2016-02-23 17:25:09
385
原创 behemoth - 04
#include #include int main(int argc, char *argv[]){ char fname[16]; /* $esp + 0x28 */ char chr; /* $esp + 0x24 */ FILE *fp; /* $esp + 0x20 */ pid_t pid; /* $esp + 0x1c */ pid = getpid(); s
2016-02-23 17:20:44
396
原创 behemoth - 03
#include int main(int argc, char *argv[]){ char buf[200]; printf("Identify yourself: "); fgets(buf, 200, stdin); printf("Welcome, "); printf(buf); puts("\naaaand goodbye again."); return
2016-02-23 17:17:59
470
原创 behemoth - 02
#include #include #include int main(int argc, char *argv[]){ struct stat filestat; char cmd[16]; char *ptrpid = cmd + 6; pid_t pid; pid = getpid(); sprintf(cmd, "touch %d", pid); if (lst
2016-02-23 17:14:52
362
原创 behemoth - 01
#include int main(int argc, char *argv[]){ char buf[64]; printf("Password: "); gets(buf); puts("Authentication failure.\nSorry."); return 0;}root@today:~# ssh behemoth1@178.79.1
2016-02-23 17:10:26
534
原创 behemoth - 00
#include #include #include int main(int argc, char *argv[]){ char pw[64]; char key[] = {"OK^GSYBEX^Y"}; printf("PassWord: "); scanf("%64s", pw); memfrob(key, strlen(key)); if (strcmp(pw,
2016-02-23 17:07:54
416
原创 narnia6
/** narnia6.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-17 13:37:53
679
原创 narnia8
/** narnia8.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-16 16:37:34
508
原创 narnia7
/** narnia7.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-16 14:41:08
485
原创 narnia5
/** narnia5.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-16 14:01:49
443
原创 narnia4
/** narnia4.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-16 13:24:52
417
原创 narnia3
/** narnia3.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-16 11:04:50
463
原创 narnia2
/** narnia2.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-16 10:20:30
523
原创 narnia1
/** narnia1.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundatio
2016-02-16 09:44:51
572
原创 narnia0
/* narnia0.c *//* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation;
2016-02-16 09:21:00
401
转载 线程池的实现(c语言)
/** threadpool.h */#include struct job { void *(*callback_function)(void *arg); //线程回调函数 void *arg; //回调函数参数 struct job *next;};struct threadpool;/* * threadpool_init * @thread_num:
2016-01-15 16:40:50
837
原创 使用gprof 或 valgrind查看函数调用频率及程序性能瓶颈调试
利用 gprof2dot 和graphviz 图形化定位linux c/c++系统性能瓶颈1 下载http://code.google.com/p/jrfonseca/wiki/Gprof2Dot 下载gprof2dot.pyhttp://www.graphviz.org/Download_source.php 下载graphviz-2.18.tar.gz
2016-01-15 14:15:09
1541
原创 linux x86_64 缓冲区溢出分析 以及 shellcode简介
/* buger.c */#include #include #include int main(void) { char buffer[128] = {0}; char *envp = NULL; printf("buffer address is: %p\n", &buffer); envp = getenv("KIRIKA"); if (envp) strcpy
2016-01-15 13:04:06
1929
转载 胡适:易卜生主义
一 易卜生最后所作的《我们死人再生时》(whenWeDeadAwaken)一本戏里面有一段话,狠可表出易卜生所作文学的根本方法。这本戏的主人翁,是一个美术家,费了全副精神,雕成一副像,名为“复活日”。 这位美术家自己说他这副雕像的历史道: 我那时年纪还轻,不懂的世事。我以为这“复活日”应该是一个极精致、极美的少女像,不带着一毫人世的经验,乎空地醒来,自然光明庄严,没有什么
2016-01-12 15:24:10
989
转载 胡适:非个人主义的新生活
这个题目是我在山东道上想着的,后来曾在天津学生联合会的学术讲演会讲过一次,又在唐山的学术讲演会讲过一次。唐山的演稿由一位刘赞清君记出,登在一月十五日《时事新报》上。我这一篇的大意是对于新村的运动贡献一点批评。这种批评是否合理,我也不敢说。但是我自信这一篇文字是研究考虑的结果,并不是根据于先有的成见的。? 本篇有两层意思。一是表示我不赞成现在一般有志青年所提倡,我所认为“个人主义的”新
2016-01-12 15:20:37
2227
DM9000_Application_Notes_Ver_1_22.pdf
2015-12-08
core java 第八版代码
2015-02-14
core java 第七版代码
2015-02-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人