faxiang1230 Blog

IT渣男

个人现状总结 13年毕业,迄今为止工作4年,有时候还找不准自己的定位。 中科创达2年3个月 中科创达是我正式工作的开端,说实话对于刚开始工作的开发来说还是蛮不错的,有比较完善的培养体系,也接很多大公司的项目:索尼,夏普,LG等等,工作规范来说还是比较重视的;不过因为是做外包项目,本身赚的就是人力成本差价,所以后期涨薪不是特别给力;我的领导给我涨3k的幅度还是挺大的,基本上相当于跳槽时的正常涨...

为什么开始写博客 People have been writing journals and diaries since writing was invented. Writing down thoughts helps you to organize them, re-think them and archive them. The last point is specifical...

Intel vs. AT&T 汇编语法

Intel vs. AT&T 汇编语法 翻译自:http://staffwww.fullcoll.edu/aclifton/courses/cs241/syntax.html x86(32位和64位)有两种语法:AT&T和intel,有些汇编器只能支持一种,有些汇编器可以两种都支持。 在标准linux和其他的在线资源上主要使用AT&T语法,但是我们(斯坦福大...

kdump基础

kdump基础 前言 做软件开发的同学会花费大约1/3的时间来进行调试,一个软件开发人员的技能包括:coding,调试和设计.一个友好的开发环境中必然提供了相当多的调试工具给开发人员,例如linux环境下C/C++有基于信号的core dump文件,java、python等都有自己的dump机制,而kdump就是为内核开发而生的dump机制,是kernel dump的缩写。而kdump比较重...

通过hijack了解bio

通过hijack了解bio 背景 bio是block io,它是一个描述硬盘里面的位置与page cache的页对应关系的数据结构,每个bio对应的 硬盘里面一块连续的位置,每一块硬盘里面连续的位置,可能对应着page cache的多页,或者一页, 所以它里面会有一个bio_vec *bi_io_vec的表。 而每个bio_vec都只能描述一个页内数据的连续的数据的偏移和长度: 通过b...

linux下的各种uid,gid,sid

linux下的各种uid,gid,sid uid:用户id,一般用在两个地方:文件的拥有者,启动该进程的用户 gid:用户组id,一般用在两个地方:文件的拥有者,启动该进程的用户 euid:这个只有进程拥有的属性,进程当前的有效用户。一般情况下是和进程的uid相同的,但是当可执行程序带有s标志时,euid就变成了该可执行程序拥有者的uid suid(set save-user-id):当该程...

Linux能力(capability)机制的继承

Linux能力(capability)机制的继承 转发https://www.cnblogs.com/gordon0918/p/5328436.html 1、Linux能力机制概述 在以往的UNIX系统上,为了做进程的权限检查,把进程分为两类:特权进程(有效用户ID是0)和非特权进程(有效用户ID是非0)。特权进程可以通过内核所有的权限检查,而非特权进程的检查则是基于进程的身份...

Hooking Linux Kernel Functions

Looking for the Perfect Solution

内核hook 原文:https://www.apriorit.com/dev-blog/544-hooking-linux-functions-1 我们最近在开展linux系统上安全相关的工作,在上面我们需要hook内核中重要的函数调用,例如打开文件、创建进程。 我们需要这样一个项目来监控系统的活动并且阻塞可疑的进程。 实际上,最后我们采用了一种高效的方式来ho...

EPOLL Linux内核源代码实现原理分析

EPOLL内核源代码实现原理分析 转自http://www.blog.chinaunix.net/uid-26339466-id-3292595.html epoll的实现主要依赖于一个迷你文件系统:eventpollfs。此文件系统通过eventpoll_init初始化。 在初始化的过程中,eventpollfs create两个slub分别是:epitem和ep...

Hooking Linux Kernel Functions, Part 2

How to Hook Functions with Ftrace

ftrace来进行内核hook,part2 https://www.apriorit.com/dev-blog/546-hooking-linux-functions-2 Ftrace是内核中的一种trace框架。但是我们对于找到了一种新的方法,可以通过ftrace来监控系统,当发现可疑进程的时候能够阻止它的运行。事实证明ftrace可以使你能够在不重新编译内核的...