应用程序:程序:ArchitectureC语言:源代码-->(编译)二进制格式脚本:解释器(二进制程序)源代码-->编译-->链接-->运行程序:指令+数据库静态动态静态链接动态链接共享库配置文件程序组成部分:二进制程序/bin,sbin库/lib配置文件/etc帮助文件/usr/share/man/boot/etc/usr/dev/var/lib/tmp/bin/sbin
分类:
其他好文 时间:
2019-01-15 17:49:29
阅读次数:
164
GOT表覆写技术 1、概念: (1)GPT表: 1)概念: 每一个外部定义的符号在全局偏移表(GOT)中有相应的条目,GOT位于ELF的数据段中,叫做GOT段。 2)作用: 把位置无关的地址计算重定位到一个绝对地址。 程序首次调用某个库函数时,运行时连接编辑器(rtld)找到相应符号, 并将它重定位 ...
分类:
其他好文 时间:
2019-01-15 14:06:53
阅读次数:
384
场景是这样的。我在写一个Nginx模块,该模块使用了MySQL的C客户端接口库libmysqlclient,当然mysqlclient还引用了其他的库,比如libm, libz, libcrypto等等。对于使用mysqlclient的代码来说,需要关心的只是mysqlclient引用到的动态库。大 ...
分类:
其他好文 时间:
2019-01-09 18:42:18
阅读次数:
197
1. 库的介绍 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。 wind ...
分类:
其他好文 时间:
2019-01-03 21:34:08
阅读次数:
239
locate命令
?-i 不区分大小写的搜索
?-n N 只列举前N个匹配项目
?-r 使用基本正则表达式
?实时查找工具,通过遍历指定路径完成文件查找
?特点:
? 查找速度略慢
? 精确查找
? 实时查找
?Stream EDitor:
?P: 打印模式空间开端至\n内容,并追加到默认输出之前
?h: 把模式空间中的内容覆盖至保持空间中
?H:把模式空间中的内容追加至保持空间中
?g: 从保持空间取出数据覆盖至模式空间
?x: 把模式空间中的内容与保持空间中的内容进行互换
?n: 读取匹配到的行的下一行覆盖至模式空间
?N:读取匹配到的行的下一行追加至模式空间
静态和动态链接
?链接主要作用是把各个模块之间相互引用的部分处理好,使得各个模块之间能
够正确地衔接,分为静态链接和动态链接
rpm包管理
?CentOS系统上使用rpm命令管理程序包:
安装、卸载、升级、查询、校验、数据库维护
包查询
-a:所有包
-f:查看指定的文件由哪个程序包安装生成
-p rpmfile:针对尚未安装的程序包文件做查询操作
-c:查询程序的配置文件
-d:查询程序的文档
分类:
其他好文 时间:
2019-01-02 22:16:02
阅读次数:
216
Linux文件系统: Linux:glibc 程序编译方式: 动态链接式编译 静态链接式编译 进程的类型: 终端:硬件设备,在硬件设备上可以关联一个用户接口,从而让用户用此接口与操作系统打交道 与终端相关:通过终端启动 与终端无关:操作引导启动过程当中自动启动 操作系统的组成: 静态:kernel( ...
分类:
系统相关 时间:
2018-12-30 13:21:21
阅读次数:
207
目标:写出bootloader的第一阶段代码和第二阶段代码,并测试。 最简单的bootloader的编写步骤: 1. 初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化NAND FLASH2. 如果bootloader比较大,要把它重定位到SDRAM3. 把内核从NAND FLASH读到SDRA ...
分类:
其他好文 时间:
2018-12-27 15:31:36
阅读次数:
152
题目链接:https://pan.baidu.com/s/1Q7MmJjff_3xMs2OvKbUdsw 提取码:t7jr 首先程序用了重定位,od和ida里面的地址不一样,我们用修改PE文件的Option Header中的Dll Characteristics,把这个的数据置为0,然后载入到调试器 ...
分类:
其他好文 时间:
2018-12-06 14:15:20
阅读次数:
269
单板选择NandFlash启动,则硬件上电后,系统会自己主动将NandFlash中的前4K内容复制到STEPSTONE即4K SRAM中。然后从SRAM中的0X0地址启动。基于mini2440的简易bootloader制作方法在上一篇文章中有提到。它编译出的boot.bin仅仅有1.96KB,小于S ...
分类:
其他好文 时间:
2018-12-02 22:42:57
阅读次数:
272
title: 链接脚本与重定位 tags: ARM date: 2018 10 12 19:25:53 链接脚本与重定位 [TOC] 学习视频 "韦东山" 总结 1. 尽量使用一体式的链接脚本,方便简单,灵活 2. 学会使用链接脚本的值 3. bss段和comm段是需要我们手动去清除的 4. 位置无 ...
分类:
其他好文 时间:
2018-11-27 01:26:49
阅读次数:
352