1、获取java源代码

1.1 dex2jar&jd-gui

dex2jar:将apk反编译成class文件(classes.dex转化成jar文件)

jd-gui:查看APK中classes.dex转化成出的jar文件(save既得java源码文件压缩包rar)

1.2 smali2java(适用于只是选择性查看个别文件的情况)

smali2java:这个软件比较好的地方是可以直接解析apk查看java源码http://www.hensence.com/cn/smali2java/

2、获取图片和布局文件

2.1 apktool

apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看

cmd命令:apktool d xxx.apk yyy(反编译)

apktool b yyy(回编译)

http://ibotpeaches.github.io/Apktool/install/能下载最新的apktool.jar文件,要实现apktool的反编功能还需aapt.exe、apktool.bat两个文件配套使用,这两个文件随便在网上下载一个apktool版本就有,这里不再提供网址下载

2.2 AXMLPrinter2.jar(适用于单纯查看AndroidManifest.xml的情况)

AXMLPrinter2.jar:apk里的AndroidManifest.xml 为二进制文件,可通过AXMLPrinter2.jar包反编译出来

cmd命令行运行一下命令:java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest2.xml

apktool如果反编成功,就会有AndroidManifest.xml文件存在,AXMLPrinter2.jar只是针对apktool反编不成功,需要单独反编AndroidManifest.xml的情况

3、小结:

3.1 较出名的apk项目一般都有自己的加密策略(比较大众的加密工具有梆梆加固、爱加密等),直接反编出来的东西一般都不能直接看,这时就需要有针对性的解密反编策略

3.2 反编工具尽量用最新,技术在不断进步,Google对android的升级也是出于保护包括我们在内的程序员的知识产权,交流和保护从来都是个博弈的局面,希望我们都能成长起来,保护自己的产出,尊重他人的劳作

4、特别说明

反编的目的在于提高程序员个人代码技术,强烈鄙视并反对诸如打包党利用反编技术恶意套用他人劳动成果为己牟利等有损行业整体健康发展的行为

apk反编译——基础是内功,得牢,飞跃还得多看源码,不同思想的碰撞才能产生火花,加油!!!!!!!!的更多相关文章

  1. Android apk反编译基础(apktoos)图文教程

    本文主要介绍了Android apk反编译基础,使用的工具是apktoos,我们将用图文的方式说明apktoos工具的使用方式,你可以参考这个方法反编译其它APK试试看了 很久有写过一个广工图书馆主页 ...

  2. APK反编译之一:基础知识—APK、Dalvik字节码和smali文件

    refs: APK反编译之一:基础知识http://blog.csdn.net/lpohvbe/article/details/7981386 APK反编译之二:工具介绍http://blog.csd ...

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

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

  4. APK反编译之一:基础知识

    作者:lpohvbe | http://blog.csdn.net/lpohvbe/article/details/7981386 这部分涉及的内容比较多,我会尽量从最基础开始说起,但需要读者一定的a ...

  5. apk反编译、smali修改、回编译笔记

    最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...

  6. Android: apk反编译 及 AS代码混淆防反编译

    一.工具下载: 1.apktool(资源文件获取,如提取出图片文件和布局文件) 反编译apk:apktool d file.apk –o path 回编译apk:apktool b path –o f ...

  7. apk反编译工具

    反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...

  8. apk 反编译

    http://blog.csdn.net/vipzjyno1/article/details/21039349/ [置顶] Android APK反编译就这么简单 详解(附图) 标签: android ...

  9. apk反编译

    在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用 ...

随机推荐

  1. 2016-2017-2 20155223 实验二 《Java面向对象程序设计》

    2016-2017-2 苏黄永郦 实验二 实验报告 前期准备工作--程序安装 -问题一 开始的时候我就在老师博客的指导下安装IDEA插件JUnit Generator V2.0.当然我的IDEA肯定没 ...

  2. [label][JavaScript]闭包阅读笔记

    原文链接来源:                       http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.ht ...

  3. SOCK开发之---TCP/IP简介

    在开发通信程序之前,都要先确定这些程序相互通信所使用的协议(protocol),在深入设计前,我们都需要先从高层次来判断通信由哪个程序发起以及相应在何时产生. 举例来说,一般认为web服务器是一个长时 ...

  4. 在DOS命令行窗口中显示系统环境环境变量

    (这是一个小技巧) 示例命令: echo %path% path是系统环境变量,使用百分号包围起来 http://www.cnblogs.com/danzhang 张洪君 微软ALM MVP

  5. 随手记录: MVC自定义提交form

    function mySubmit() { var frm = $('#frm'); var result = frm.valid(); if (ret) { frm.submit(); } else ...

  6. stringBuilder类的一些用法

    对String对象进行处理的时候比如拼接.截取,会在内存中新建很多字符串对象.为了减少内存开支,可以使用StringBuilder类型. 创建StringBuiler实例: 用构造函数直接创建: St ...

  7. C#List的创建例程

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. uwp ,win10 post json

    public static async Task<HttpResponseMessage> PostHttpstringrequest(string requesturl,string j ...

  9. python网络编程--粘包解决方案 和 subprocess模块

    1.缓冲区:作用:将程序和网络解耦分为输入缓冲区, 输出缓冲区 每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区.write()/send() 并不立即向网络中传输数据,而是先 ...

  10. 【OCP认证12c题库】CUUG 071题库考试原题及答案(28)

    28.choose the best answer Evaluate the following SQL statement: SQL> SELECT promo_id, promo_categ ...