android 安全讲座第五层(二) 关于so特别基础知识的补充

linux 系统下进行so注入是基于目标的so的,但是为了能够将so成功的注入到目标的so,需要了解一些特别重要的so那是必须的,所以这点基础知识需要进行补充一下。


我的系统是 ubuntu 13.04 系统,/lib/i386-linux-gnu/下面的有个重要的库

就是 libc.so.6 glibc2.4 这个库,其实libc.so.6 也只是一个链接 链接的是libc-2.17.so 这个库,其实这个库也就是 glibc2.4 这个库,这个库里面有好多的基础函数。


比如 socket,send,recv,gettimeofday,clock_gettime 这些函数,而glibc 也是大名鼎鼎的函数库


glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万有。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个作业系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。


功能实现:


主要的如下:
(1)string,字符串处理
(2)signal,信号处理
(3)dlfcn,管理共享库的动态加载
(4)direct, 文件目录操作
(5)elf,共享库的动态加载器,也即interpreter
(6)iconv,不同 字符集的编码转换
(7)inet,socket接口的实现
(8)intl,国际化,也即gettext的实现
(9)io
(10) linuxthreads
(11)locale,本地化
(12)login, 虚拟终端设备的管理,及系统的安全访问
(13)malloc, 动态内存的分配与管理
(14)nis
(15)stdlib,其它基本功能


在百度里面 搜索关键字 glibc 里面有更加详细的介绍,所以在so注入监听的时候,一个很基本的操作就是挂载glibc这个库....




你可能感兴趣的:(linux,android,ubuntu,操作系统,基础知识)