在Kali Linux中修改deb包

时间:2014-10-22 19:56:18

标签: debian

正确修改.deb包应该获得哪些知识?我正在使用dpkg-deb解压缩并重新打包。但我被困在提取文件中的/ bin文件夹中。我想修改flareget。所以我做了

dpkg-deb -x flareget.deb /flareget

然后

dpkg-deb -e flareget.deb /flareget

我找到了一个名为flareget的文件,但我无法确定它是哪种文件。当我用sublime打开它时会显示类似于我们使用十六进制编辑器打开.exe文件的情况。我打算做flareget就是按照我的意愿调整它。

1 个答案:

答案 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,了解有关该主题的合法性的信息。