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 ...
随机推荐
- 用gradle管理android项目出现的问题以及解决方法
1.项目结构 最好是全部在root 项目配置 一个settings.gradle 一个build.gradle 2.多项目依赖 http://www.gradle.org/docs/current/u ...
- 基于三星I9250演示自己弄的Miracast功能-手机对手机
最终把Miracast功能測试通了,为了节省时间.我的Source端和Sink端都採用同一个机型.这样能够降低我为目标机编译4.4.2源码所耗费的时间.今天简单录制了一段视频.视频是用手机录制的,室内 ...
- 如何高效地向Redis插入大量的数据(转)
最近有个哥们在群里问,有一个日志,里面存的是IP地址(一行一个),如何将这些IP快速导入到Redis中. 我刚开始的建议是Shell+redis客户端. 今天,查看Redis官档,发现文档的首页部分( ...
- vim php代码规范
vim 代码规范工具php-cs-fixer.phar (參考https://github.com/FriendsOfPHP/PHP-CS-Fixer) INSTALL curl http://get ...
- Android中倒计时代码
布局: maina.xml <DigitalClock android:id="@+id/myClock" android:layout_width="wrap_c ...
- c4Droid
c4可以让用c/c++写的源码打包成apk安装包,支持Console.SDL.Qt. NativeActivity 等一系列扩展库,可以用来写软件,也可以用来写游戏,是手机端练习c/c++的神器.c4 ...
- hdu3664(递推dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3664 分析:dp[i][j]表示i个数的排列中E值为j的个数.假设现在已有一个E值为j的i的排列,对于 ...
- 金融界高富帥現身快男北京唱區 陳樂:我拿生活養夢想__娛樂新聞_Yes娛樂
http://m.baidu.com/tc?pn=15&bd_page_type=1&pu=sz%401320%5F1001%2Cta%40iphone%5F2%5F4%2E1%5F3 ...
- Hdu 4734 【数位DP】.cpp
题意: 我们定义十进制数x的权值为f(x) = a(n)*2^(n-1)+a(n-1)*2(n-2)+...a(2)*2+a(1)*1,a(i)表示十进制数x中第i位的数字. 题目给出a,b,求出0~ ...
- 调用WCF的异步方法
原文:调用WCF的异步方法 AsyncCallback aLoginCallback = delegate(IAsyncResult result) { var aSystemUser = WcfCl ...