反编译linux deb安装包

deb是什么以及包内部结构?

deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统,成为了当前在 Linux 下非常流行的一种安装包。
它基于 tar 包,因此本身会记录文件的权限(读/写/可执行)以及所有者/用户组。由于 Unix 类系统对权限、所有者、组的严格要求,而 deb 格式安装包又经常会涉及到系统比较底层的操作,所以权限等的设置尤其重要。
deb 包本身有三部分组成:数据包、安装信息及控制脚本包、 deb 文件的一些二进制数据,在某些软件中打开可以看到。数据包(data.tar.gz)包含的是实际安装的程序数据,而在安装过程中,该包里的数据会被直接解压到根目录(即 / ),因此在打包之前需要根据文件所在位置设置好相应的文件/目录树。而 control.tar.gz 则包含了一个 deb 安装的时候所需要的控制信息。一般有 5 个文件:control,用了记录软件标识,版本号,平台,依赖信息等数据;preinst,在解包data.tar.gz 前运行的脚本;postinst,在解包数据后运行的脚本;prerm,卸载时,在删除文件之前运行的脚本;postrm,在删除文件之后运行的脚本;

windows解压*deb包

下面界面中点击“browse”选择要解压的deb包,选择好以后如下面的界面
在这里插入图片描述
双击上图中的文件另存为即可得到解压后的文件,winrar软件或其他软件继续解压就能看到包中的文件以及结构了
在这里插入图片描述

linux解压*.deb包

dpkg -x

和windows解压后的结果不同,dpkg -x后直接看到的是有特定含义的一些目录一样的文件,看来比windows下反编译多做了一些事情

RJ@RJ-PC:~/Downloads$ dpkg -x RCC-Client-1.506.deb RCC  #deb包 解压到文件夹RCC中
RJ@ruijie-PC:~/Downloads$ ls -al RCO/  #查看解压后的内容
总用量 24
drwxr-xr-x 6 RJ RJ 4096 813 18:45 .
drwxr-xr-x 3 RJ RJ 4096 921 16:03 ..
drwxrwxrwx 3 RJ RJ 4096 813 18:45 etc
drwxrwxrwx 5 RJ RJ 4096 813 18:45 opt
drwxrwxrwx 4 RJ RJ 4096 813 18:45 usr
drwxrwxrwx 3 RJ RJ 4096 813 18:45 var
RJ@RJ-PC:~/Downloads$ 

ar

这种方式解压后看到的内容和windows下用工具看到的很类似

RJ@RJ-PC:~/Downloads/111$ ls
RCO-Client-3.1.506.deb
RJ@RJ-PC:~/Downloads/111$ ar vx RCC-Client-1.506.deb 
x - debian-binary
x - control.tar.gz
x - data.tar.xz
x - sign
x - sign.tar.gz
RJ@RJ-PC:~/Downloads/111$ ls -al
总用量 817884
drwxr-xr-x 2 RJ RJ      4096 922 22:32 .
drwxr-xr-x 3 RJ RJ      4096 922 22:31 ..
-rw-r--r-- 1 RJ RJ      3605 922 22:32 control.tar.gz
-rw-r--r-- 1 RJ RJ 418728088 922 22:32 data.tar.xz
-rw-r--r-- 1 RJ RJ         4 922 22:32 debian-binary
-rw-r--r-- 1 RJ RJ 418745518 922 22:32 RCO-Client-3.1.506.deb
-rw-r-xr-x 1 RJ RJ      8891 922 22:32 sign
-rw-r-xr-x 1 RJ RJ      4620 922 22:32 sign.tar.gz
RJ@RJ-PC:~/Downloads/111$ tar -xvf control.tar.gz #查看control的内容
RJ@RJ-PC:~/Downloads/111$ tar -xvf data.tar.gz #查看data的内容,包含文件应防止的文件夹

无论是哪种方式反编译了deb,现在都可以去一窥包的内部秘密了,解压control.tar.gz后,可见到里面的脚本,安装过程中做了什么、卸载做了什么都很情况了,可以去研究一下

1 . 把apk拷到apktool根目录下,执行:./apktool d xxx.apk,会生成xxx目录,里面有res目录(各种资源文件),smali目录(类似src目录,里面文件的语法不一样)及AndroidManifest.xml。 [*.apk->*.jar: sh ./dex2jar/dex2jar.sh xxx.apk,生成xxx_dex2jar.jar通过jd-linux看源码] 2 . 什么apk汉化啊,就到res/values里string.xml里修改字符串,或者拷贝一份values目录改为values-zh-rCN,再去里面修改string.xml里英文字符串改为中文,所谓的汉化就是这么简单。另外,有些图片里不是中文的得去改图片,那得用Photoshop了,图片也不能乱改,格式,图片大小(尺寸)得原来的。 3 . 修改smali文件,这个有些难度。比如有些apk安装了后要积分什么的,比如大于100才可以用的,其实这个值是用SharedPreference存放的,也就是存在xml里,,位置:/data/data/[包名]/shared_prefs的某个xml里,文件不多肯定是可以找到的。另外一种方法就是修改.smali文件也可以达到这目的,软件实现肯定是读取积分那个值给它修改一下就可以了,例如 const/16 v0 100 (其实就是 v0 = 100)这个语法有点像汇编,觉得还是比汇编简单,v0 v1 ...是寄存器,之前会跟变量关联的。具体的还是自己看看smali语法。 4 . 打包生成apk,执行:./apktool b xxx,会在xxx里面生成,一个dist目录,里面就是xxx.apk,但不能安装滴,提示(Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]),没有给这个apk签名, 5 . 签名,执行:sh ./dex2jar/d2j-apk-sign.sh ./xxx/dist/xxx.apk 就是给刚才那个apk签名,生成的文件还是xxx.apk在apktool根目录下。这样就大功告成啦。 [请看:http://blog.csdn.net/zhouyuanjing/article/details/7446988]
iPhone手机端: 1.Apple File Conduit 2(替换afc2add),使PC端的管理工具可以访问iPhone的所有目录与文件. 2.AppSync,使可以安装破解的IPA,威锋源apt.weiphone.com. 3.Mobile Substrate或者Substrate Safe Mode 4.OpenSSH,作为SSH服务端; 5.Gnu Debugger(gdb),在这个源中cydia.radare.org,版本为1708,低版本不支持ios4.3+。 6.adv-cmds:ps命令可以查看进程信息; 7.darwin cc tools:otools可以查看可执行文件的详细信息; 8.Link Identity Editor:ldid签名; 9.Cycript是一款脚本工具,用于测试函数. 10.BigBoss Recommanded Tools是一系列命令行工具,强烈建议安装上. 这个工具有以下命令行工具还没装上: file #常用的file命令 links #links,文本浏览器 netcat #nc ngrep #ngrep (Network grep). Nmap #nmap Screen #screen tcpdump #tcpdump 11.iFile是一款文件管理工具. 12.MobileTerminal(注意没有空格)是开源的IOS版Terminal,注意:4以上系统都需要的是520-1版的mobile terminal,安装源是iPhoneCake源 http://cydia.xsellize.com,cydia作者源里那个太老了会出现闪退. 13.AppCrackr是一款用来对App破解去壳的工具,安装源是iPhoneCake源 http://cydia.xsellize.com. 14.syslogd是用于记录类UNIX中系统日志 的守护进程,我们可以通过/var/log/syslog/看到对应的log输出,安装源是http://apt.saurik.com. 15.SQLite是运行于iOS设备上的SQLite 数据库工具. 16.top是运行于iOS平台上的查看当前内存使用情况的工具. 17.Vi IMProved (即vim). 18.keychaineditor 19.netcat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值