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. Linux 基础教程 44-history命令

    什么是history     在Linux系统日积月累的使用中,我们会输入很多命令.而在我们想重复上一个命令时,通过使用方向键向上翻就可以查看我们已经输入和使用过的命令.那大家有没有想过这个命令保存在 ...

  2. java并发编程实战:第十五章----原子变量与非阻塞机制

    非阻塞算法:使用底层的原子机器指令(例如比较并交换指令)代替锁来确保数据在并发访问中的一致性 应用于在操作系统和JVM中实现线程 / 进程调度机制.垃圾回收机制以及锁和其他并发数据结构 可伸缩性和活跃 ...

  3. 用shell脚本 计算两个数的加减乘除取余

    #! /bin/bash # read -p '请输入数:' a //输入 read -p '请输入数:' b echo '$a+$b=' $(( a + b )) //输出 echo '$a-$b= ...

  4. 修改VS中的附加依赖项的继承值

    工程用不到的库,想去都去不掉,一直链接错误... 解决方法:打开vs的“属性管理器”窗口.通过这个窗口就可以对里面的继承值进行编辑了 另,“属性管理器”这个窗口,一般在“其他窗口”选项里(至少VS20 ...

  5. Android-图像原理/绘制原理

    图像原理 先专门讲解图片,一想到图片有那些特点:    宽/高 格式jpg/jpeg/... 大小43.kb/... 图片是由像素点组成:像素点是正方形的,只是像素点很小很多,看起来可以拼接圆形⭕️, ...

  6. python 中为什么不需要重载

    函数重载主要是为了解决两个问题. (1)可变参数类型. (2) 可变参数个数. 另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两 ...

  7. sql2008 获取表结构说明

    SELECT     表名       = case when a.colorder=1 then d.name else '' end,    表说明     = case when a.color ...

  8. 关于SqlServer连接错误

    以前用数据库好好的,今天突然就出现连接错误,贴出出错误消息 出现这种错误的原因:服务里面sqlserver服务没有打开. 解决方案 : 计算机右键,打开管理,找到服务,把服务里面的SQL Server ...

  9. Java50道经典习题-程序7 处理字符串

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.分析:利用while语句,条件为输入的字符不为'\n'. import java.util.*; public class Pr ...

  10. Problem H: 小姐姐的QQ号(DFS)

    Contest - 河南省多校连萌(四) Problem H: 小姐姐的QQ号 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 297  Solved:  ...