ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

检查ELF是否在Linux中包装了UPX

2019-08-27 05:52:05  阅读:256  来源: 互联网

标签:packer c-3 linux upx


我不知道ELF格式如何工作或如何通过代码访问其头和数据,但我需要检查是否已使用UPX for Linux压缩(打包?)ELF二进制文件.

用字符串检查二进制文件我看到字符串UPX!所以我想我可以用它.对二进制进行Hexediting显示字符串,对于二进制文件中的位置,我可以假设它是ELF标题之一的一部分(如果我错了,请纠正我).这是一个转储:

00000000    .ELF........................4...
00000020    ........4. ...(.................
00000040    ........................@...@...
00000060    @.....................[.UPX!....
00000080    ............T............?d..ELF

我不知道这看起来不错,对不起.

有谁知道如何在Linux上检测UPX?如果没有,如何访问标题并获得UPX! string(标题的名称?)?

我确实查看了UPX源代码,但一切都是C,我希望用C编写代码,这真的很难理解.

谢谢,欢迎任何帮助.

编辑:关于赏金.他们的回答必须给出一个有效的例子,因为我尝试了不同的方法而且它们并不总是有效,如下面的示例所示.
谢谢

解决方法:

这些是检测UPX压缩文件的测试:

>>>>(0x3c.l+0xf8)   string      UPX0 \b, UPX compressed
>>>>(0x3c.l+0xf8)   search/0x140    UPX2
>>>(&0x7c.l+0x26)   string      UPX \b, UPX compressed
>>>&0x26    string      UPX \b, UPX compressed
>>85    string      UPX     \b, UPX compressed

使用

man 5 magic

查看如何指定文件中的偏移量.

例如,在您编程时,您应该:

>打开正在测试的文件进行阅读
>跳到其中一个偏移量
>检查是否存在预期的字符串
>重复直到不再有抵消

有趣的是,在我的ubuntu 64位中,未检测到UPX压缩文件,因为/usr/share / misc / magic缺少此测试:

>>180   string      UPX!        UPX compressed (64-bit)

标签:packer,c-3,linux,upx
来源: https://codeday.me/bug/20190827/1737465.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有