Ubuntu下简单配置反编译工具以及其开发环境

0x0:前言


个人电脑重新换了下系统,Ubuntu14.04,刚好需要配置下android的反编译环境,这里简单记录一下,以供有需要的朋友参考。

其实最简单的,只需要apktool就可以了,不过有编码能力的朋友,肯定是希望用自己编写的可视化界面工具来操作了,所以我们就开始配置,并且方便后期继续开发完善工具。


0x01:相关软件的下载


Sig包
http://www.riverbankcomputing.co.uk/software/sip/download

Pyqt包
http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.2/

Ubuntu自带Python2.7,我们也简单进行了更新,下面有步骤可以参考一下,看看是否能满足我们的开发再作决定是否重新安装。


0x02:进行软件的安装工作



下载完成后,就是一些初始化的工作了:
首先是:

apt-get update

# 安装 Python 发布版本,dev包必须安装,很多用pip安装包都需要编译
sudo apt-get install python2.7 python2.7-dev python3.2 python3.2-dev
# 很多pip安装的包都需要libssl和libevent编译环境
sudo apt-get install build-essential libssl-dev libevent-dev libjpeg-dev libxml2-dev libxslt-dev

# 安装 pip
sudo apt-get install python-pip

发现一个比较简单的方式:


sudo apt-get install libxext6 libxext-dev libqt4-dev libqt4-gui libqt4-sql qt4-dev-tools qt4-doc qt4-designer qt4-qtconfig "python-qt4-*" python-qt4


不过我是按照下面的方式来搞得,都是在官网下载的包,最新的 。

操作sig文件:

1, 安装SIP

    http://www.riverbankcomputing.co.uk/software/sip/download 下载压缩包解压 
    sudo python configure.py
    make
    sudo make install

2, 安装依赖的库

    sudo apt-get install libxext6 libxext-dev libqt4-dev libqt4-gui libqt4-sql qt4-dev-tools qt4-doc qt4-designer qt4-qtconfig

注:在这个版本的软件包中,qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。其它的,qt4-doc 是帮助文档,包含了Qt中各个类库的详细说明以及丰富的例子程序,可以使用Qt Assistant 工具来打开阅读。qt4-qtconfig 是配置Qt环境的一个对话框,一般默认就行了,很少有必要去更改。qt4-demos 包含很多可以运行起来的可执行文件以及源代码。qt4-designer是用来设计GUI界面的设计器。


3, 安装PyQt4

    从 http://www.riverbankcomputing.co.uk/software/pyqt/download 下载压缩包解压
    sudo python configure.py
    sudo make
    sudo make install


0x03:进行测试


好了,这样配置完成后,我们就打开上一篇文章提到的APK_IDE.py脚本,在命令行下打开即可
python APK_IDE.py 
记得要把apktool.jar也放到对应的目录

上篇文章地址:

http://bbs.pediy.com/showthread.php?t=192045

下面是测试的截图:





同时,记得配置一下Java的相关环境变量,需要注意的是,我这里简单修改了上篇文章的代码,使用的是java的绝对路径。

最近在写那个查询搜索的功能,同时搜索两个以上字符串所在文件,可以等后续慢慢往这个里面加入。

有了反编译,搜索,那么我们就可以很方便来做一个一体化的工具了,集成反编译,搜索,修改,回编译,签名。。。

再慢慢补充上一些新功能。。。

有兴趣一起搞起的朋友,可以发我邮件交流,1********#qq.com,弄一个开源的apk修改工具,然后开源,方便大家跨平台使用..

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]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值