`
如沐春风的小妮
  • 浏览: 69778 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

apk的反编译

阅读更多

 

本文涉及的环境是windows 环境,所有的测试都未在ubuntu 下进行过。

工具基础:

  1. 下载apktools apktool-install-window ,并将文件解压缩到同一个目录下。

  2. 安装JDK

  3. apktool 签名工具APKSign

 

开始—》运行—》cmd

跳转到apktool 目录,输入:

Apktool d 需要反编译apk 反编译后代码存放目录

 

例如:apktool d c:/a.apk b

c: 根目录下的a.apk 进行反编译,并将反编译后的代码存放到当前目录下的b 文件夹内。

当然,也可以存放到其它地方的文件夹,只需要指定正确的路径。

 

反编译后的文件如下:

--res

--smali

--AndroidManifest.xml

--apktool.yml

 

其中,res 是所有的资源,包括图片,字符串,动画等等;smail 文件夹中是反编译之后的代码资源。这些代码不是java 格式的,所以阅读修改起来有些麻烦;AndroidManifest.xml 就不多做介绍了,大家懂的。

 

  1. 添加资源:

除了将相应的资源放到对应的目录下外,还要做如下修改:

  1.  
    1. public.xml 中,将添加的资源按照已有的格式,添加到对应的地方,并分配一个未使用的16 位编码的数值。

格式:<public type=" 填写对应type(drawable/layout/anim/color/string/id)" name=" 定义的资源名称" id=" 分配的数值" />

例如:<public type="id" name="Img" id="0x7f080054" />

  1.  
    1. 如果需要添加typeid 的项,还需要在ids.xml 中添加如下格式的项:

<item type="id" name=" 定义的资源名字">false</item>

例如:<item type="id" name="Img">false</item>

这是因为,"@+id/" 格式定义的id 表示在修改完某个布局文件并保持后,自动在R.java 中生成相应的int 类型变量。但是反编译后的代码不可能再自动去生成,只能把id 设置成好像已经存在的样子,去调用一个已经存在的资源的id 。相应的在修改layout 时,也不能使用"@+id/" 而是"@id/" 格式去定义id

  1. 添加代码

将要添加的代码单独的作用一个应用(以b 代替)进行编译调试,测试ok 后,将b 应用的apk 进行反编译。如果a 应用是需要添加这些改动的应用,只需要反编译a 应用,然后将b 的代码加入到a 中对应位置就可以。注意其中package 及所属class 文件名字修改。

如果是添加了activity ,记得要在AndroidMenifest.xml 中添加activity 的注册。

 

修改后,要再将代码编译后来,输入如下命令:

Apktool b 反编译后代码存放目录

例如:apktool b b

编译之后的代码结构为:

--build

--dist

--res

--smali

--AndroidManifest.xml

--apktool.yml

 

编译后的apk 就在dist 文件夹中。将apk 用签名工具签名后就可以使用了。

 

分享到:
评论

相关推荐

    apk反编译工具下载

    "apk反编译工具下载"这个标题指的是提供了一整套工具集合,帮助用户便捷地完成APK的解析和反编译过程。 描述中提到的几个关键工具分别是: 1. **jd-gui**:这是一个Java反编译器,能够将已编译的.class文件转换回...

    UnityAPK反编译工具dnSpy-ne资源提取工具UnityStudio

    UnityAPK反编译工具,如UnityStudio和dnSpy-ne,是针对使用Unity引擎开发的Android应用程序(APK)的专业工具。这些工具主要用于游戏开发者、安全研究人员或逆向工程爱好者,他们希望查看、分析或修改Unity游戏的...

    apk反编译工具合集

    "apk反编译工具合集"就是这样一个工具集合,它包括了apktool、dex2jar和jd-gui.exe这三个关键工具,它们各自在反编译流程中扮演着不同的角色。 首先,apktool是一个强大的工具,主要用来解编译APK文件。通过apktool...

    apk反编译工具

    APK反编译工具是Android应用开发者和安全研究人员常用的软件,用于查看和分析APK文件的内部结构。这些工具能够将APK中的二进制XML和.dex(Dalvik执行)文件转换成人类可读的形式,便于理解应用的工作原理、提取资源...

    apk反编译及签名打包工具组

    这是一个开源的APK反编译工具,可以将APK中的Dex文件(Dalvik字节码)解码为Java源代码,同时还能解析资源文件如XML布局、图片等。通过apktool,我们可以查看并修改应用的业务逻辑、界面布局和资源。 接着,`jd-gui...

    android apk反编译完整工具与详细反编译步骤

    本文将详细讲解如何使用完整的APK反编译工具及步骤,帮助你从零开始了解这一过程。 首先,你需要一套完整的反编译工具,这通常包括但不限于以下组件: 1. **Apktool**:这是一个用于解包和重新打包Android APK文件...

    APK反编译工具

    "APK反编译工具"就是一种专门用于分析和理解这些加密或加固过的APK文件的工具,它允许我们查看并修改APK的内部结构,尽管可能无法直接看到源代码。 APK反编译的过程一般包括以下几个步骤: 1. **提取APK内容**:...

    androidAPK反编译工具32/64

    "androidAPK反编译工具32/64"提供了解决这一需求的工具,它包括了32位和64位版本,适应不同的操作系统环境。 首先,让我们来了解一下APK反编译的基本概念。反编译是将已编译的二进制代码转换回源代码的过程。对于...

    APK 反编译工具 APK Easy Tool 1.59.2 中文.zip

    Apk Easy Tool 是一个轻量级的 GUI 应用程序,使您可以管理,签名,编译和反编译正在使用的应用程序的 APK 文件。APK Easy Tool 完全免费,可用于商业和非商业用途。请注意:此工具不是为新手准备的,而是为那些懒于...

    u3d_apk反编译文件展示

    "u3d_apk反编译文件展示"这个主题聚焦于Unity3D项目生成的APK安装包及其反编译过程,帮助我们深入理解Unity在打包过程中包含的文件类型和结构。 首先,`u3d_2_and.apk`是Unity3D项目针对Android平台导出的APK安装...

    apk反编译工具+傻瓜教程

    APK反编译是Android应用开发领域中的一个重要概念,它涉及到对Android应用程序的源代码进行逆向工程,以便查看、修改或分析其内部工作原理。这个过程通常由开发者、安全研究人员或者热衷于学习他人代码的程序员进行...

    apk反编译软件

    在Android应用开发领域,APK反编译是一个重要的技术环节,它涉及到软件安全、逆向工程和代码分析等多个方面。本文将深入探讨“apk反编译软件”这一主题,包括其概念、用途、常用工具以及相关知识。 首先,我们要...

    Apk 反编译成Java源代码工具

    有时候,为了分析或者学习其他应用的实现原理,开发者可能会使用到APK反编译工具。本篇文章将详细介绍如何使用"Apk 反编译成Java源代码工具"来获取APK中的源码。 首先,我们需要了解反编译的基本概念。反编译是将已...

    apk反编译最新工具

    在Android应用开发领域,APK反编译是一个常见的技术手段,用于查看、修改或学习APK文件内部结构和逻辑。标题中的"apk反编译最新工具"指的是一个更新的工具集合,可能是为了适应最新的Android版本和安全措施。描述中...

    APK反编译工具.

    APK反编译工具是Android应用开发者和安全研究人员常用的工具,用于查看、分析甚至修改APK文件的内容。APK文件是Android系统中的应用程序打包格式,它包含了应用的代码、资源、图片、XML配置等所有组成部分。通过反...

    APK反编译及编译工具

    APK反编译及编译工具是Android应用开发领域中常用的一种技术,它允许开发者对已有的APK文件进行解包、修改和重新打包。在本文中,我们将深入探讨APK反编译的过程,理解其背后的原理,并了解如何使用如ApkTool这样的...

    APK反编译for windows

    APK反编译是Android应用开发领域中的一个重要概念,它涉及到对已安装的APK文件进行逆向工程,以理解其内部结构、源代码逻辑或提取资源。在本压缩包中,提供了专为Windows平台设计的APK反编译工具,帮助开发者或安全...

Global site tag (gtag.js) - Google Analytics