linux学习
文章平均质量分 83
lingfong_cool
这个作者很懒,什么都没留下…
展开
-
ELF文件的格式和加载过程
(一) ELF 文件的格式 ELF 文件类型 (1) 可重定位文件( .o 目标文件) : 用于链接创建可执行文件或 so 文件 (2) 可执行文件 : 用于执行 (3)so( 共享对象 ) 文件 : 用于链转载 2012-08-05 19:59:03 · 2934 阅读 · 0 评论 -
linux内核编译+打补丁+内核升级
转自liangxanhai打补丁如下:首次cd到内核源码目录,然后打补丁: patch -p1 卸载补丁: patch -p0 -R 下载另外版本的内核代码来编译,并且安装,其中遇到很多问题,但是最终总算还是成功的编译完并且安装上了自己编译的内核了。下面是我自己编译内核的方法和步骤,贴出来供有用的人参考参考: 1、首先下载你想要编译的内核版本:www.ke转载 2012-07-30 22:21:20 · 1289 阅读 · 0 评论 -
linux terminal使用技巧及代码定位(大部分内容整理得来)
最近项目吃紧,有劳师兄帮忙,看师兄十指如飞,眼睛都看不过来了,才知道自己太菜了,不思进取。遂努力打基础中。一个工程中,经常碰到不知道结构体、函数定义在哪儿,可是vim不给力,不像集成开发环境。于是去文件夹根目录下,执行ctags -R,会产生一个tags文件,用vim编辑该文件,/*查找某函数、结构体的定义,速度刚刚的。terminal技巧。Shift+Ctrl+T:新原创 2013-05-22 20:41:11 · 2909 阅读 · 0 评论 -
fedora 17 设置开机自启动服务和程序
服务:systemctl start name.servicefedora16发布,不对rc.local支持,其实只是删除了rc.local文件,如果想在开机时能够运行自己写的脚本,只要新建rc.local文件就可以了,下面让我们来测试下吧:环境:fedora16 kde桌面 1./etc/rc.local其实是/etc/rc.d/rc.local的软连接,那么:转载 2013-04-27 21:45:00 · 3887 阅读 · 0 评论 -
mprotect: 设置内存访问权限
转自http://blog.csdn.net/ustc_dylan/article/details/6941768mmap 的第三个参数指定对内存区域的保护,由标记读、写、执行权限的 PROT_READ、PROT_WRITE 和 PROT_EXEC 按位与操作获得,或者是限制没有访问权限的 PROT_NONE。如果程序尝试在不允许这些权限的本地内存上操作,它将被 SIGSEGV 信号(Segm转载 2012-10-16 08:34:00 · 1811 阅读 · 0 评论 -
ELF文件格式及程序加载执行过程总汇(3)sections
=========================== Sections =========================== 一个object文件的section header table可以让我们定位所有的sections。 section header table是个Elf32_Shdr结构的数组(下面描述)。一个section 报头表(section header t转载 2012-09-19 19:20:27 · 1289 阅读 · 0 评论 -
ELF文件格式及程序加载执行过程总汇(2)ELF Header
========================== ELF Header ========================== 一些object文件的控制结构能够增长的,所以ELF头包含了他们目前的大小。 假如object文件格式改变,程序可能会碰到或大或小他们不希望的控制结构。 程序也有可能忽略额外(extra)的信息。 对待来历不明(missing)的信息依靠上下文来转载 2012-09-19 19:17:36 · 1200 阅读 · 0 评论 -
ELF文件格式及程序加载执行过程总汇(1)
好文转自: http://www.linuxsir.org/bbs/printthread.php?t=206356这是我这段时间学习elf文件格式搜集的资料,其中的一些重量级文档,比如linkers and loaders ,the executable and linkable format等等就不贴出来了,太大----文章列表为:elf文件格式-- 1elf文转载 2012-09-19 19:16:20 · 1392 阅读 · 0 评论 -
Linux动态连接原理 GOT PLT表详解
注意:以下所用的连接器是指,ld,而加载器是指ld-linux.so;1, GOT表;GOT(Global Offset Table)表中每一项都是本运行模块要引用的一个全局变量或函数的地址。可以用GOT表来间接引用全局变量、函数,也可以把GOT表的首地址作为一个基 准,用相对于该基准的偏移量来引用静态变量、静态函数。由于加载器不会把运行模块加载到固定地址,在不同进程的地址空间中转载 2012-09-13 18:08:11 · 4052 阅读 · 1 评论 -
linux下 hook 系统调用示例
原理很简单,Linux查看进程的命令ps是通过系统调用sys_getdents实现,sys_getdents用户获取一个指定路径下的目录条目,实际上就是枚举 /proc/ 下的pid,这样我们只需要hook一下sys_getdents,把相应的要隐藏的pid信息去掉即可。 以下是LKM代码,在Linux-2.6.14测试并运行成功 #include linux/mod转载 2012-09-29 14:42:34 · 2412 阅读 · 0 评论 -
深入Linux网络核心堆栈
创建时间:2003-08-22 文章属性:翻译 文章提交:raodan (raod_at_30san.com) ==Phrack Inc.== 卷标 0x0b, 期刊号 0x3d, Phile #0x0d of 0x0f |=---------------------=[ 深入Linux网络核心堆栈 ]=-----------------------=| |=-转载 2012-09-29 14:40:49 · 1371 阅读 · 0 评论 -
linux下注入so之ptrace
注入so,也就是让另一个正在运行的进程加载我们指定的so,之后我们的so里面的代码就可以自动运行,这个主要是用来进行API拦截的。windows下的API拦截非常方便,而linux下的就比较复杂。如果去网上搜,基本上找到的是http://linux.chinaunix.net/techdoc/net/2007/04/06/954355.shtml,这个是2002年的,它的思路是使用ptrace原创 2012-09-06 10:33:23 · 7441 阅读 · 2 评论 -
Linux下的ELF文件格式简介
1. 概述Executable and linking format(ELF)文件是x86 Linux系统下的一种常用目标文件(object file)格式,有三种主要类型:(1)适于连接的可重定位文件(relocatable file),可与其它目标文件一起创建可执行文件和共享目标文件。(2)适于执行的可执行文件(executable file),用于提供程序的进程映像,加载的内存执转载 2012-07-31 16:44:19 · 866 阅读 · 0 评论 -
内核编程学习(2)netfilter初探
本次的任务是要在linux下利用netfilter往内核挂钩子,截获数据包。这几天的练习,发现很多结构体以及技术涉及到内核版本,如果你发现有些结构体的成员什么的未定义,大多是这种问题。本机内核版本2.6.32-21-generic。查看内核版本命令uanme -r。通俗的说,netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数原创 2012-07-31 12:19:04 · 2394 阅读 · 0 评论 -
内核编程学习(1)
一个内核模块至少包括两个函数:初始化函数init_module,在模块被插入到内核时使用;清除函数cleanup_module,在模块被从内核中移走时使用。一般情况下函数init_module或者在内核中注册一个处理程序,或者使用自己的代码替换一个内核函数,函数cleanup_module则清除init_module所做的任何事情,这样模块就可以安全的卸载。下面来一个最简单的helloworl原创 2012-07-30 16:04:22 · 656 阅读 · 0 评论 -
Linux下重要日志文件及查看方式
转自http://soft.chinabyte.com/os/365/12164865.shtml1、Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息,如图1所示: 图1 /var/log/boot.log示意 /var/log/cr转载 2013-06-24 09:22:22 · 786 阅读 · 0 评论