Android项目包装apk和apk反编译,xml反编译
一、项目和一般原则其不足之处包
(1)开发一个简单的项目。当发布了APK档。假设我们不使用签名的方式,直接地bin文件夹中找到*.apk档。非常方便,但是,当我们在使用的用户,可能有其他方案覆盖安装。例的详细说明,下面的:
(2)我们新建一个项目Test文件夹结构例如以下,并把它公布到模拟器上。得到我们的打包文件Test.apk
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGxnZW4xNTczODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(3)然后我们在看模拟器中的文件文件夹信息。我们在安装的应用,都会在安卓机器上的data----data---详细的安装文件夹,比如我的是:com.example.test
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGxnZW4xNTczODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGxnZW4xNTczODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
这里的com.example.test是在,项目文件夹下的AndroidManifest.xml文件里。因此我们能够改动他的文件名
(4)到这里。假设遇到同样的安装文件夹名,就有可能覆盖我们的应用程序,造成恶意的破坏!
二、带有数字签名的打包方式
(5)那我们就须要使用签名的方式。打包我们的软件。步骤非常easy。点击项目右键---Android-Tools---Export Android Application--然后后边的就不在介绍。依照自己需求进行就可以!
三、apk的反编译实现过程
(6)在上一步中,我们已经生成了一个签名的apk文件Test.apk然后我们使用解压软件,解压,
上图既是解压后的文件夹。各种配置文件都在。就是缺少我们的源文件和R类等
(7)当中classes.dex文件,就是我们项目中src文件夹下源代码的编译,二resources.arsc既是我们R类中的编译文件
(8)如今我们開始反编译,查看当中的源文件和R类
(9)准备工具dex2jar和JD-GUI这两个工具网上非常多。搜索下载就可以(http://yunpan.cn/cfpRvDD8QJcKi 提取码 c156)
(10)開始:将classes.dex文件复制到我们的工具dex2jar文件文件夹下:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGxnZW4xNTczODc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(11)然后在上图中的地址栏中将地址删除然后敲入cmd回车(这种话我们能够直接定位到该文件夹下!
很好使)或者自己手工找到该文件夹下。
(12)然后运行dex2jar.bat 后边加上刚才拷贝的要反编译的文件calsses.dex
(13)然后就会在dex2jar工具下生成一个jar文件(到这里这个jar还仅仅是class文件须要使用下一个工具才干够)
(14)然后将生成的class_dex2jar.jar文件拖入到第二个工具JD-GUI中,就能够看到了
(15)另外我们还能够点击file--save all sources生成源码的文件,这个就不上图了,源码有了剩下的是杀是刮随你便
(16)到此为止,已经完毕对软件的反编译。这种话我们能够轻松愉快的阅读别人的源码了。

/*********************************************************************更新内容:反编译xml文件**************************************************/
下载工具: http://pan.baidu.com/s/1bnErJSr提取码 wt8c
下载后解压然后将apk文件拷贝到这里、比方我这是lashow.apk
在地址栏中输入cmd,回车--命令apktool-v2.0.RC2.jar d lashow.apk
注意:可能非常多朋友们反编译的时候会出错:意思就是找不到文件等。这个时候须要更新一下apktool的版本号了。
然后结束的时候。你会看到有一个新的目录 ,在里面你可以找到你想要的是什么
版权声明:本文博主原创文章。博客,未经同意不得转载。
Android项目包装apk和apk反编译,xml反编译的更多相关文章
- [转]Android应用安装包apk文件的反编译与重编译、重签名
背景介绍: 最近在做Robotium自动化测试,使用到solo.takeScreenshot()函数以在测试过程中截图,但此函数需要被测试APP具有<uses-permission androi ...
- 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译
反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...
- Android Studio 动态调试 apk 反编译出的 smali 代码
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...
- android逆向基础:apk 反编译 重打包 重签名
apk 反编译大家都比较熟悉,这里只做一个笔记. 1 反编译 apk apktool d perfect.apk 这样就把资源文件解压缩了, classes.dex 也反编译成了 smali 文件 2 ...
- [Android逆向]APK反编译与回编译
一.先查壳,再反编译看验证首先打开.apk文件==>反编译apk(dex/配置文件/资源文件(apk反编译失败)>修改关键文件实现自己的目的>重新打包签名(无法重新打包)==> ...
- Android apk逆向:反编译,回编译,签名,打包。
Android apk逆向:反编译,回编译,签名,打包流程. 第一步: apk 反编译. 1) 打开命令行窗口,输入java -version, 检测当前java版本,若版本较低, 则下载JAVA S ...
- Android反编译(二)之反编译XML资源文件
Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具 apktool http ...
- APK反编译、重编译、签名、查看源码
1.反编译与重编译 工具:apktool 下载地址:https://ibotpeaches.github.io/Apktool/ 环境:Java (JRE 1.7) 安装步骤:参考官网(也可以不安装, ...
- 安卓apk的编译与反编译
原文:https://blog.csdn.net/baidu_33870664/article/details/80186945 android基于java的,而java反编译工具很强悍,所以对正常a ...
随机推荐
- POJ2528 Mayor's posters 【线段树】+【成段更新】+【离散化】
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39795 Accepted: 11552 ...
- remove()和直接使用system的一个差别
1.事出有因 今天在做一个从web页面中得到POST回应数据的时候.须要把暂时目录里面(包括子文件)内容清空.本来一直使用的是system("rmdir /s /q ..//tmp//dat ...
- 上Https 和 http 差分
HTTPS 和 HTTP 差协议 超文本传输协定HTTP 对于web 浏览器和现场服务之间传递消息,HTTP 以纯文本协议 发送内容 无论不提供数据加密方法 假设拦截攻击web 浏览器和网站serve ...
- Wamp 访问本地站点慢 的解决办法
自从安装了64位的windows 8.1之后,电脑运行速度变快了,可是重新下载安装64位的WAMP,访问本地的WEB站点确是很慢,根本不像是在本地访问,经过在WAMP论坛上搜索,终于找到了解决办法,主 ...
- Extjs4.2 Desktop 拖动黑色和白色的桌面图标的解决方案
最近做了一个extjs4.2的desktop桌面demo,该desktop从原来的包中剥离出来,并实现了桌面图标休息,拖动桌面图标,但是,用户抱怨拖动桌面图标会出现黑色和白色,测试,在 extjs4. ...
- fastdfs storage server的设计与实现
fastdfs是一个针对互联网应用设计的分布式文件系统.具有架构简单.结构清晰.代码量小等特点. 详细的介绍及架构请參考分布式文件系统FastDFS架构剖析(http://www.program ...
- CCLuaObjcBridge调Objective-C方法传索引数组报invalid key to 'next'错调试
CCLuaObjcBridge是cocos2d-x系列引擎与Objective-C进行交互的"桥梁",老廖的quick-cocos2d-x在其framework进行了简单了封装,封 ...
- 获取webshell的十种方法
黑客在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的入侵行为.本篇文章将如何获取webshell总结成为了十种方法,希望广大的企业网络管理员能够通过 ...
- JS数组追加数组採用push.apply的坑
JS数组追加数组没有现成的函数,这么多年我已经习惯了a.push.apply(a, b);这样的自以为非常酷的,不须要写for循环的写法,一直也没遇到什么问题,直到今天我要append的b是个非常大的 ...
- MySQL 模拟Oracle邻接模型树形处理
数据库对层次结构的处理模型有好多种,能够依据自己的需求来设计模型.当然最简单的也是最easy设计的模型就是所谓的邻接模型.在这方面,其它数据库比方Oracle 提供了现成的分析方法 connect b ...