首页
学习
活动
专区
圈层
工具
发布

Linux系统中编译、链接的基石-ELF文件:扒开它的层层外衣,从字节码的粒度来探索

另外,既然我可以用来表示 3 种类型的文件,那么就肯定是在 3 种不同的场合下被使用,或者说被不同的家伙来操作我: 可执行文件:被操作系统中的加载器从硬盘上读取,载入到内存中去执行; 目标文件:被链接器读取...,用来产生一个可执行文件或者共享库文件; 共享库文件:在动态链接的时候,由 ld-linux.so 来读取; 就拿链接器和加载器来说吧,这两个家伙的性格是不一样的,它们看我的眼光也是不一样的。...(从链接器角度看) 或者 Segments(从加载器角度看) 在 ELF 文件的什么地方。...p_type: 段的类型,1: 表示这个段需要加载到内存中; p_offset: 段在 ELF 文件中的偏移地址,这里值为 0,表示这个段从 ELF 文件的头部开始; p_vaddr:段加载到内存中的虚拟地址...注意:有些段是不需要加载到内存中的; 经过上述分析,我们就知道:从 ELF 文件的第 1 到 第 1860 个字节,都是属于这个 LOAD 段的内容。

1.2K21

从ELF的沉默到进程的喧嚣:解读Linux中动态链接如何激活一个可执行文件的完整生命

在那一篇中我们讲进行链接的时候默认就是动态链接,而动态链接与静态链接不同的是,静态链接在链接的过程中是将静态库中的代码拷贝到可执行文件中,所以当形成可执行文件后,其不再依赖静态库。...那么当我们执行这些命令时,它们加载到内存中后也是一个进程,也要把它们所依赖的动态库加载到内存中,那么我问大家一个问题:就如上面的C语言标准库,每启动一个进程都需要把它在内存中重新加载一份吗?...设置堆栈:为程序创建⼀个初始的堆栈环境。 2. 初始化数据段:将程序的数据段(如全局变量和静态变量)从初始化数据段复制到相应的内存位置,并清零未初始化的数据段。 3....而完成了这些前置工作,_start函数就为main函数创建了一个合法、稳定、标准的运行时环境,没有_start函数做这些工作,我们main函数根本无法正常执行。...以上就是从ELF的沉默到进程的喧嚣:解读Linux中动态链接如何激活一个可执行文件的完整生命的全部内容。

13910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mac中文版Ai矢量图设计软件:Illustrator 2022

    Illustrator 2022 Mac中文版行业标准矢量图形软件来创建从华丽的 Web 和移动图形到徽标、图标、书籍插图、产品包装和广告牌的所有内容。...Illustrator 图稿是基于矢量的设计软件,因此它可以缩小到移动屏幕和广告牌大小。并且总是看起来清爽漂亮。华丽的排版说明了一切。将公司名称合并到徽标中、创建传单或使用最好的类型工具模拟网站设计。...添加效果、管理样式和编辑单个字符,以创建完美表达您的信息的排版设计。处处引人注意。创建手绘图,或对图形进行描摹和重新着色,将它们变成艺术作品。...更新日志升级到 Monterey 12.3 后,无法在 Illustrator 中打开 Photoshop 的智能矢量对象[仅限 macOS] 计算机窗口上另存为中的选项被禁用启用智能参考线选项后,约束...(即按住)shift 键的功能对变换工具不起作用[仅限 macOS] 阿拉伯语文本在 Illustrator 文件中显示不准确[仅限 macOS] 无法使用 AppleScript 限制第三方应用程序[

    1.6K10

    强大的 Creative Suite 媒体管理器Adobe Bridge for Mac 11.1.0

    主要功能 借助 InDesign CS5 和 Photoshop CS5 中的可自定义面板 Adobe Mini Bridge,在您的工作环境中访问所有创意资源。...在 InDesign 文档中显示相互链接的文件 快速访问页面布局的各个组成部分,还可以在 Adobe Bridge CS5 中直接浏览 InDesign 文档中的链接文件。...针对 Web 画廊的自定义图像大小调整和 PDF 水印 创建 Web 画廊时可获得更多控制。为 PDF 文件添加水印,精确调整图像大小,单击一次即可显示 HTML 和 SWF 格式画廊中的文件名。...使用 Adobe Device Central CS5 预览移动内容 从 Adobe Bridge 中访问 Device Central CS5,以预览、测试和优化跨各种设备的图像、动画、视频和其他内容...可编辑路径栏 借助改进的导航栏,您可以更轻松地在文件夹之间移动。 集中颜色设置 在 Adobe Bridge 的集中面板中设置颜色首选项,使项目和文件中的颜色更一致。

    1.3K10

    打造卓越排版,引领出版设计新潮流—Adobe InDesign 2019

    InDesign 2019还拓展了数据合并功能,让你可以从Excel或CSV文件中导入和包含变量的文本和图像,从而快速生成大量不同版本的文档。...InDesign 2019还强化了其协作和分享功能。使用者可以将文件存放在Adobe Creative Cloud的共享目录中,或与同事或客户分享文档链接。如果有人对文档进行修改或评论,你将收到通知。...该软件使得操作大文档变得更加稳定和流畅,同时加快了打开和保存文件的速度。同时,它还为更快速地搜索图像、字体和其他资源提供了更便捷的方式。...无论是初学者还是经验丰富的设计师,InDesign 2019都是推荐的工具之一。 Adobe InDesign 2019安装步骤: 1.从网盘把软件下载出来,然后解压。...6.打开菜单,找到下载的ID2019软件,鼠标左击拖拽到桌面创建快捷方式,打开软件。 7.安装完成

    56310

    Adobe Bridge CC 2020官方版Adobe BR下载附安装技巧

    用户可以使用全新的发布面板在adobe bridge中创建adobe portfolio项目,并将jpeg图像、raw图像、音频文件和视频文件作为portfolio项目上传。...Adobe bridge cc 2018引入了全新的“输出新工作区”,用户可以使用自定义模板和预定义模板创建资源的pdf联系表。...主要功能 AMB 借助 InDesign CS5 和 Photoshop CS5 中的可自定义面板 Adobe Mini Bridge,在您的工作环境中访问所有创意资源。...在 InDesign 文档中显示相互链接的文件 快速访问页面布局的各个组成部分,还可以在 Adobe Bridge CS5 中直接浏览 InDesign 文档中的链接文件。...针对 Web 画廊的自定义图像大小调整和 PDF 水印 创建 Web 画廊时可获得更多控制。为 PDF 文件添加水印,精确调整图像大小,单击一次即可显示HTML和 SWF 格式画廊中的文件名。

    1.3K20

    Adobe InDesign2020:专业排版设计软件,轻松打造印刷品质!

    软件全版本安装包获取指南:zyku666.com首先,Adobe InDesign2020 提供了高效的排版设计工具,用户可以使用该软件快速创建、编辑和排版各种复杂的文档和出版物。...该软件支持多种图像格式和标准,包括 EPS、PDF、AI、JPEG、PNG 等,同时还提供了多种嵌入和链接方式,使得用户可以更加便捷地导入和处理图像和媒体文件。...该软件支持多种界面风格和语言,并且还提供了丰富的学习资源和技术支持,使得用户可以更加深入地了解该软件的功能和应用场景。...最后,Adobe InDesign2020 还具有强大的导出和输出能力,用户可以将文档和出版物输出为高质量的印刷文件或者数字媒体文件。该软件支持多种输出格式和标准,可以方便地满足用户不同的需求。...,(注意安装路径中不要有中文)这样就安装成功了,可以开始你的创造之旅啦

    61200

    Illustrator 2023 macwin(ai2023)支持13系统中文,最新功能太香了

    数以百万计的设计师和艺术家使用行业标准的矢量图形软件来创建从华丽的网络和移动图形到徽标、图标、书籍插图、产品包装和广告牌的所有内容。...Mac版详情:Illustrator 2023 for mac(ai2023) win版详情:Illustrator2023(AI2023)图片新功能首先是全新的Intertwine功能,使用它可以重新排序重叠的文本...Illustrator 2023 27.0 版首次支持 Illustrator 和 InDesign 间复制和粘贴文本,可从 InDesign 复制任意文本,然后在 Illustrator 中直接粘贴,...此次还增加了 3D 对象导出功能,支持将 Illustrator 中的 3D 内容导出为 3D 文件在其它 3D 软件中编辑,比如Adobe收购的 Substance 3D。...除此之外还有一些其它的性能优化,比如放置多个链接或透明图像时,打开和加载文件较慢的问题。

    2.8K40

    HarmonyOS学习路之开发篇—多媒体开发(媒体数据管理开发)

    创建媒体数据管理AVMetadataHelper对象,可以通过setSource设置要读取的媒体文件,如果不设置或设置不正确,则无法进行后续操作。...创建媒体数据管理AVMetadataHelper对象,可以通过setSource设置要读取的媒体文件,如果不设置或设置不正确,则无法进行后续操作。...创建媒体数据管理AVMetadataHelper对象,可以通过setSource设置要读取的音频媒体文件,如果不设置或设置不正确,则无法进行后续操作。...appendRequireOriginalResource(Uri uri) 更新给定的Uri, 用于调用者获取原始文件内容。...; player.prepare(); player.play(); 四、媒体扫描服务操作开发 场景介绍 媒体扫描服务从新创建或下载的媒体文件中读取元数据,并将文件添加到媒体数据库中。

    66920

    WordPress搭建个人网站后台问题汇总

    /php-fpm restart   4、重新进入博客系统后台,再刷新看是否生效 ---- 二、依旧无法上传大于2M的图片或者媒体文件   问题描述:从服务器收到预料之外的响应。.../nginx -s reload   4、进入博客后台,尝试重新上传 ---- 三、上传文件失败,提示无法创建目录xxx   问题描述:无法创建目录 wp-content/uploads/xxx。...解决方案:   1、找到nginx配置文件,在server{}中添加以下代码: try_files $uri $uri/ /index.php?...$args; rewrite /wp-admin$ $scheme://$host$uri/ permanent;   2、重新加载nginx配置文件,重试访问异常解决 ---- 五、修改固定链接规则...2、重新加载nginx配置文件,重试访问异常解决 ---- 六、安装主题时出现请输入FTP账号和密码   问题描述:在线安装WordPress主题时,出现请输入FTP账号密码或者无法创建目录问题

    6.6K20

    专业的印刷和数字出版解决方案Adobe InDesign for Mac 16.1.0

    免费下载:https://macnp.com/info/1416039452563584 功能 生产力工具 lnDesign启动界面 lnDesign启动界面(1张) 制作复杂的页面布局和链接的内容,...自动化 使用基于XML功能制定强大的自动化工作流程标准来创建文本和图像的页面创建功能。...交互式文档和演示文稿 添加交互性,运动,声音和视频文件和简报,直接导出在SWF Flash Player中播放。 多个大小不同的页面 建立在一个单一文件的大小不同的网页。...段落跨度或分裂列 在短短的几个步骤中快速创建文本跨越或分割成多个列。 简化对象选择和编辑 在执行重复布置的任务时,能有效地利用便捷的工具和对象进行控制。...文档安装字体 帮助解决文档安装的字体的字体替换问题。 复制修订跟踪 直接在InDesign上标记文本,轻松跟踪副本修订。 动态字幕 从图像元数据自动生成静态或动态字幕。

    89500

    xwiki功能-XWikiRESTfulAPI

    当然相同的资源可以用不同的方式来表示。 representation另一个重要的方面是资源表达中包含了链接信息。...这种标签有两个重要的参数:rel和href。 rel指定链接的“语义”,而href是链接资源的URI。...在该图中,节点表示资源类别的URI templates。边缘是一些链接,你可能会发现一个给定资源的representation,和其相关的关系。...该图通过从API入口点开始,客户端可以导航并只是通过下列中的表示中提供的链接(和通过知道它们的语义)发现的所有资源。这正是如何生成该图的方式。...,从XE2.3开始) Media types: application/xml (Comment元素) Description: 给定页面上创建评论 Status codes: 201: 如果评论被创建

    3.1K20

    macOS红队攻击链(四):利用AppleScript实现初始访问

    然而,一些执行向量仍然在不同的信任模型下运作。基于 AppleScript 的 payload 就是其中之一,尽管需要用户交互,它们在实际的恶意软件活动中仍然非常有效。...技术现状有一个向量非常有趣,且特别受到恶意作者的青睐:.scpt 文件,它可以是 AppleScript 或 JavaScript (JXA)。...这是一个 stage-0 加载器,它根据 macOS 版本的不同,从 URL 获取 payload 并执行。.scpt 文件可以使用“脚本编辑器”通过点击“播放”按钮来执行。...另一种解决方案可以帮助缓解文件相关问题:可以通过链接来实现这一点,使用 AppleScript 深度链接:这样做并非没有后果;它会增加一个额外的步骤:这是在 Safari 中输入 URL 后发生的情况。...从 AppleScript 深度链接开始的完整攻击链:如何使用 DarwinOps 生成这些 payload.

    13610

    干货 | 携程火车票iOS项目开发体验优化实践

    组件化虽然对APP项目的工程管理带来了巨大的好处,但是对开发人员来讲,存在着一些繁琐的问题: 在开发中,如果需要调试未解开源码的组件,就需要重新执行命令解开相应组件的源码才能进行调试。...,程序在运行中崩溃但是崩溃在了未解开源码的组件上,自己看到的只是一堆不明所以的汇编代码(图1),无法像源码调试那样看到足够丰富的调试信息。...,其中包含从其派生编译单元的主源文件的完整或相对路径名。 ...2)获取静态库中存储的编译静态库时源码文件所在的路径。 3)在本地创建上面获取的路径,让静态库的源码和该路径关联起来。...问题2:在美团的文章中可以了解到,使用dwarfdump 命令可以获取静态库中存储的编译静态库时源码文件所在的路径。

    1.5K30

    HAL-超文本应用语言

    精益超媒体类型 总结 HAL 是一种简单的格式,它提供了一种一致且简便的方法在 API 的资源之间进行超链接。 采用 HAL 将使您的 API 易于探索,并且其文档很容易从 API 本身中发现。...需要查找的事项: 使用自链接(self)表示的主要资源的 URI("/orders") 指向下一页订单的"next"链接 名为"ea:find"的模板化链接,用于按 id 搜索订单 数组中包含多个“ ea...资源 资源具有: 链接(到 URI) 嵌入式资源(即其中包含的其他资源) 状态(沼点标准 JSON 或 XML 数据) 链接 链接有: 目标(URI) 关系,又名。"...Content-Type HAL 文档的结构 最低有效文件 HAL 文档必须至少包含空资源。...如果选择单数并发现需要更改它,则需要创建新的链接关系或面对断开现有客户端。 CURIEs "CURIEs"帮助提供指向资源文档的链接。

    1.3K40

    从100到511的这些数字,HTTP状态码背后的秘密你知道多少?

    ,如{"status":"success","data":{}}201 Created:新资源诞生含义:请求成功并创建了新资源典型场景:POST提交表单创建新用户上传文件成功特别说明:响应应包含Location...410 Gone当请求的内容已从服务器中永久删除且没有转发地址时,将发送此响应。客户端需要删除缓存和指向资源的链接。HTTP 规范打算将此状态代码用于“有限时间的促销服务”。...416 Range Not Satisfiable无法满足请求中 Range 标头字段指定的范围。该范围可能超出了目标 URI 数据的大小。...笑话,典故来源茶壶冲泡咖啡421 Misdirected Request请求被定向到无法生成响应的服务器。这可以由未配置为针对请求 URI 中包含的方案和权限组合生成响应的服务器发送。...在减小请求头字段的大小后,可以重新提交请求。451 Unavailable For Legal Reasons用户代理请求了无法合法提供的资源,例如政府审查的网页。

    1.9K10

    Adobe国际认证|InDesign 中的 Adob​e Capture

    打开 CC 库面板(窗口 > CC 库),单击+,选择从图像中提取并从选项中进行选择 提取颜色 一旦您收集了灵感图像并继续决定使用什么,Capture 扩展是非常方便的功能,它允许创建具有和谐规则的主题...要将其提升到新的水平,请将色板添加到 CC Libraries 中,并轻松地在 InDesign 文件中使用它们或通过 Libraries 生态系统访问任何 Adob​​e 应用程序。...要将矢量化图像转换为创意元素,只需将它们添加到您的 Creative Cloud Libraries 并在您的 InDesign 文件中引入矢量形状。...保存字体时,它会从 Adob​​e Font 自动激活,以便直接在您的 InDesign 文件中使用。 随时随地拍摄 灵感可以来自任何地方!...然后在 CC Libraries 中找到这些资源,这些资源位于您最喜欢的桌面和移动应用程序(包括 Adob​​e Photoshop、Illustrator、Dimension 和 XD)中,以便在您的所有创意项目中使用它们

    1.2K20

    如何用Scribus和Gedit编辑InDesign文件

    比如,您正在使用一台公共打印机打印一份用 Adobe InDesign 创建的文件。这时,您需要对文件做一些简单的改动(比如,改正一个错别字),但您无法立刻使用 Adobe 套件。...一个是:在 InDesign 创建一个 EPS 并在文本编辑器 Scribus 中将其以可编辑文件打开,但这不起作用。...另一个是:从 InDesign 中创建一个 IDML(一种旧的 InDesign 文件格式)文件,并在 Scribus 中打开它。第二种方法效果更好,也是我在下文中使用的解决方法。...编辑名片 我尝试在 Scribus 中打开和编辑 InDesign 名片文件的效果很好。唯一的问题是字母间的间距有些偏移,以及我用倒过来的 ‘J’ 来创建 “Jeff” 中的 ‘f’ 被翻转。...image.png image.png image.png 用文本编辑器打开 InDesign 文件 当您用普通的记事本(比如,Mac 中的 TextEdit)分别打开 Scribus 文件和 InDesign

    2.3K20

    RFC2616-HTTP1.1-Status Code(状态码规定部分—译文)

    10.2.2 201 Created(已创建)   请求已经完成,并导致一个新的资源被创建。新创建的资源可以被响应实体中返回的URI所引用,该资源所引用的指定URI在Location头字段中给出。...请求最终可能会、也可能不会被处理,因为在处理实际发生的问题时它可能是被禁止的。在像这样的异步操作中无法重新发送一个状态码。   202响应是有意不表态的。...具有链接功能的客户端应该在可能的情况下,自动将引用到的“请求URI(Request-URI)”的引用重新链接到服务器返回的一个或多个新的引用上。   ...如果一个缓存使用了接收到的304响应来更新一个缓存条目,那么该缓存必须更新该条目以反映在响应中给定的任何新的字段值。...10.4.10 409 冲突(Conflict)   由于与资源的当前状态发生冲突,请求无法完成。只有在预期用户能够解决冲突并重新提交请求的情况下才允许使用此代码。

    1.3K40

    告诉你个秘密,Python也能控制回收站

    获取这两个路径后,使用shutil.copy函数将文件或目录从回收站复制到原始路径,最后使用os.unlink函数删除回收站中的文件和目录,实现代码如下: for item in recycle_bin...所以通过正常的手段是无法读取.DS_Store文件内容的,自然也就无法获取废纸篓中文件的原始目录了。因此,在macOS下恢复废纸篓中的文件,只能通过osascript命令了。...本例通过AppleScript打开废纸篓,并模拟键盘按下“Command + Delete”键来恢复废纸篓中被选中的文件或目录,当然,在做这个操作之前,先要通过AppleScript获取废纸篓顶层的所有文件和目录...在左侧菜单中选择“辅助功能”,然后点击右侧的锁形图标以进行更改。 输入管理员密码以解锁更改,并将Script Editor从列表中添加到允许应用程序列表中,如下图2所示。...如果问题仍然存在,请尝试退出并重新启动Script Editor应用程序。

    1.6K00
    领券