您的位置:首页 > 移动开发 > Android开发

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

2013-11-19 11:48 423 查看
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这个库....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息