一、项目和一般原则其不足之处包

(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反编译的更多相关文章

  1. [转]Android应用安装包apk文件的反编译与重编译、重签名

    背景介绍: 最近在做Robotium自动化测试,使用到solo.takeScreenshot()函数以在测试过程中截图,但此函数需要被测试APP具有<uses-permission androi ...

  2. 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译

    反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...

  3. Android Studio 动态调试 apk 反编译出的 smali 代码

    在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...

  4. android逆向基础:apk 反编译 重打包 重签名

    apk 反编译大家都比较熟悉,这里只做一个笔记. 1 反编译 apk apktool d perfect.apk 这样就把资源文件解压缩了, classes.dex 也反编译成了 smali 文件 2 ...

  5. [Android逆向]APK反编译与回编译

    一.先查壳,再反编译看验证首先打开.apk文件==>反编译apk(dex/配置文件/资源文件(apk反编译失败)>修改关键文件实现自己的目的>重新打包签名(无法重新打包)==> ...

  6. Android apk逆向:反编译,回编译,签名,打包。

    Android apk逆向:反编译,回编译,签名,打包流程. 第一步: apk 反编译. 1) 打开命令行窗口,输入java -version, 检测当前java版本,若版本较低, 则下载JAVA S ...

  7. Android反编译(二)之反编译XML资源文件

    Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具  apktool http ...

  8. APK反编译、重编译、签名、查看源码

    1.反编译与重编译 工具:apktool 下载地址:https://ibotpeaches.github.io/Apktool/ 环境:Java (JRE 1.7) 安装步骤:参考官网(也可以不安装, ...

  9. 安卓apk的编译与反编译

    原文:https://blog.csdn.net/baidu_33870664/article/details/80186945 android基于java的,而java反编译工具很强悍,所以对正常a ...

随机推荐

  1. POJ2528 Mayor&#39;s posters 【线段树】+【成段更新】+【离散化】

    Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 39795   Accepted: 11552 ...

  2. remove()和直接使用system的一个差别

    1.事出有因 今天在做一个从web页面中得到POST回应数据的时候.须要把暂时目录里面(包括子文件)内容清空.本来一直使用的是system("rmdir /s /q ..//tmp//dat ...

  3. 上Https 和 http 差分

    HTTPS 和 HTTP 差协议 超文本传输协定HTTP 对于web 浏览器和现场服务之间传递消息,HTTP 以纯文本协议 发送内容 无论不提供数据加密方法 假设拦截攻击web 浏览器和网站serve ...

  4. Wamp 访问本地站点慢 的解决办法

    自从安装了64位的windows 8.1之后,电脑运行速度变快了,可是重新下载安装64位的WAMP,访问本地的WEB站点确是很慢,根本不像是在本地访问,经过在WAMP论坛上搜索,终于找到了解决办法,主 ...

  5. Extjs4.2 Desktop 拖动黑色和白色的桌面图标的解决方案

    最近做了一个extjs4.2的desktop桌面demo,该desktop从原来的包中剥离出来,并实现了桌面图标休息,拖动桌面图标,但是,用户抱怨拖动桌面图标会出现黑色和白色,测试,在 extjs4. ...

  6. fastdfs storage server的设计与实现

     fastdfs是一个针对互联网应用设计的分布式文件系统.具有架构简单.结构清晰.代码量小等特点. 详细的介绍及架构请參考分布式文件系统FastDFS架构剖析(http://www.program ...

  7. CCLuaObjcBridge调Objective-C方法传索引数组报invalid key to &#39;next&#39;错调试

    CCLuaObjcBridge是cocos2d-x系列引擎与Objective-C进行交互的"桥梁",老廖的quick-cocos2d-x在其framework进行了简单了封装,封 ...

  8. 获取webshell的十种方法

    黑客在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的入侵行为.本篇文章将如何获取webshell总结成为了十种方法,希望广大的企业网络管理员能够通过 ...

  9. JS数组追加数组採用push.apply的坑

    JS数组追加数组没有现成的函数,这么多年我已经习惯了a.push.apply(a, b);这样的自以为非常酷的,不须要写for循环的写法,一直也没遇到什么问题,直到今天我要append的b是个非常大的 ...

  10. MySQL 模拟Oracle邻接模型树形处理

    数据库对层次结构的处理模型有好多种,能够依据自己的需求来设计模型.当然最简单的也是最easy设计的模型就是所谓的邻接模型.在这方面,其它数据库比方Oracle 提供了现成的分析方法 connect b ...