正确修改.deb包应该获得哪些知识?我正在使用dpkg-deb解压缩并重新打包。但我被困在提取文件中的/ bin文件夹中。我想修改flareget。所以我做了
dpkg-deb -x flareget.deb /flareget
然后
dpkg-deb -e flareget.deb /flareget
我找到了一个名为flareget
的文件,但我无法确定它是哪种文件。当我用sublime打开它时会显示类似于我们使用十六进制编辑器打开.exe文件的情况。我打算做flareget就是按照我的意愿调整它。
答案 0 :(得分:0)
这是一个专门针对Linux的可执行文件,它们以Elf格式编码,而在Windows中它们是PE格式。使用dpkg-deb的'-x'选项对于将修改重新打包为deb文件没有用,但我有一个解决方案:
wget http://flareget.com/files/flareget/debs/i386/flareget_4.2-92_i386.deb
mkdir flareget
mv flareget_4.2-92_i386.deb flareget/
cd flareget
mkdir extracted
dpkg-deb -R flareget_4.2-92_i386.deb extracted
cd extracted/usr/bin
readelf -h flareget
这将返回类似的内容。
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x8063010
Start of program headers: 52 (bytes into file)
Start of section headers: 3108188 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 8
Size of section headers: 40 (bytes)
Number of section headers: 31
Section header string table index: 30
如果您想查看所有信息和抵消,可以执行此操作。
readelf -a flareget
您可以通过执行以下操作来使用objdump来帮助您进行逆向工程:
objdump -M intel --section .comment -d flareget
显然,评论部分可能对您没有用,但您可以更改此部分以满足您的需求。您可以通过执行以下操作获取不同部分的列表:
objdump -h flareget
您将获得如下输出:
Sections:
Idx Name Size VMA LMA File off Algn
0 .interp 00000013 08048134 08048134 00000134 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.ABI-tag 00000020 08048148 08048148 00000148 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .note.gnu.build-id 00000024 08048168 08048168 00000168 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
通过这个,您可以通过使用十六进制编辑器修改文件来输入您自己的偏移和代码来对程序进行反向工程。一个简单的使用称为Bless。
apt-get -y install bless
这是一个GUI应用程序,所以它很容易使用。
您还可以使用字符串对要修改的数据进行查询,并通过执行以下操作来获取偏移量。
strings -a -t x flareget | grep "Search Terms Here"
然后,您可以导航到这些偏移并修改您想要的内容,尤其是在Elf和PE格式中,ASCII字符串很容易修改。
如果您想在修改后重新打包deb文件:
dpkg-deb -b extracted/ flareget_modified.deb
您可以按以下方式安装修改后的软件包:
dpkg -i flareget_modified.deb
在对任何软件进行逆向工程之前,请阅读this article,了解有关该主题的合法性的信息。