Android截包与反编译

近期由于学习需要,尝试了下截包与反编译,发现对于简单的反编译与截包其实挺简单的,而本文也主要介绍截包与反编译工具的使用.

截包

截包的工具有很多,我这里主要介绍简单实用的fiddler.

官网下载地址:http://www.telerik.com/fiddler

下载完成后打开fiddler

1.首先,确保安装 Fiddler 的电脑和你的手机在同一局域网内,因为Fiddler只是一个代理,需要将手机的代理指向 PC 机,不能互相访问是不行的。

2.打开菜单栏中的Tools>Fiddler Options,打开“Fiddler Options”对话框。

在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮,设置允许远程链接.

3.然后在本机命令行输入ipconfig命令行找到本机ip,由于我这里手机和电脑都是连得无线网所以使用电脑无线网ip 192.168.0.102

4.打开手机设置无线网代理界面 服务器设置为电脑无线网ip 端口为fiddler监听端口8888

5.现在就可以抓包了打开fiddler

6还可以设置过滤器 过滤掉不想要的信息

反编译

apktool : 它可以解码资源接近原始形式和重建后做一些修改,可以提取出图片文件和布局文件进行使用查看

下载链接:http://download.csdn.net/detail/zly921112/9472996

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

下载链接:http://download.csdn.net/detail/zly921112/9473310

jd-gui : 查看用dex2jar转换生成的jar文件,查看源码

下载链接:http://download.csdn.net/detail/zly921112/9473311

apktool(反编译资源文件)

将工具中apktool,解压得到aapt.exe,apktool.bat,apktool.jar,将需要反编译的APK文件放到该目录下,然后将命令行目录切换至该目录下.输入apktool d test.apk,命令中test.apk指的是要反编译的APK文件全名,反编译后生成文件名与APK文件名相同

虽然这里有部分资源未能解码但是大部分资源都得到了,

test文件内部

如果你想将反编译完成的文件重新打包apk,那你可以输入 apktool b test(编译出来文件夹):

在test文件下会发现多了两个文件 build 和 dist(里面存放着打包出来的APK文件)

关于命令官网有给出例子

解码:

构建:

dex2jar+jd-gui(反编译.dex文件获取java源码)

将要反编译的apk后缀改成.rar 解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15文件夹内,然后将命令行目录切换至该目录下.输入dex2jar.bat classes.dex

在该目录下会生成一个classes_dex2jar.jar的文件,然后用jd-gui文件夹里的jd-gui.exe,打开之前生成的classes_dex2jar.jar文件,便可以看到源码了,效果如下:

由于源码被混淆了所以只能看到abc这种,其实挺恶心的,我还专门去查了反混淆希望能还原但是未发现解决办法,如果有朋友能反混淆欢迎交流谢谢.

时间: 2024-12-16 06:05:01

Android截包与反编译的相关文章

Android代码混淆防反编译解决方案研究

做Android开发的都知道要做混淆去防apk被反编译.破解,通过proguard进行Java代码混淆.但是,Android代码混淆真的能起到实质性的作用吗?看下面分析 1.Android代码混淆 如上图,对Android 代码进行混淆后混淆器将代码中的所有变量.函数.类的名称加密为简短的英文字母代号,在APP被破解后增加破解者对代码的阅读难度. 但是混淆的功效只能运作在APP已经被破解后,而且只是增加破解者的难度时间,对其防止破解的作用意义不是很大. 那么,Android代码混淆不能从根本上防

Proguard android代码混淆 防止反编译

Proguard android代码混淆 防止反编译 http://www.360doc.com/content/13/1030/13/9171956_325290258.shtml

Android实践APK一键反编译

1.需要软件:onekey-decompile-apk 2.软件功能: 1)集成apktool/dex2jar/jd-gui. 2)只需执行一步即可反编译出apk所有文件(资源文件和jar等等). 3)反编译完毕后自动打开jd-gui反编译jar文件. 3.使用方法: 1)将下载的 onekey-decompile-apk.zip解压缩. 2)将apk文件放到 onekey-decompile-apk目录下. 3)将apk文件拖拽到_onekey-decompile-apk.bat上. 4.执行

Android系统安全和反编译实战——互动出版网

这篇是计算机类的优质预售推荐>>>><Android系统安全和反编译实战> Android安全专家写作,从Android系统安全机制介绍到综合实例演练,是完整学习Android系统安全知识的必备指南 内容简介 <Android系统安全和反编译实战>循序渐进地讲解了Android系统安全方面的基本知识,从Android系统介绍开始到综合实例的实战过程,全程剖析了Android系统安全.应用安全开发和加密.解密方面的核心知识.全书共17章,主要内容包括,Andr

Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

一.前言 在之前的破解过程中可以看到我们唯一离不开的一个神器那就是apktool了,这个工具多强大就不多说了,但是如果没有他我们没法涉及到后面的破解工作了,这个工具是开源的,也是使用Java语言开发的,代码相对简单,我们今天就来分析一下他的大体逻辑,注意是大体逻辑哦,因为如果要一行一行代码分析,首先觉得没必要,其次浪费时间,有了源码,谁看不懂呢.至于为什么要分析这个工具其实原因只有一个,就是我们在之前的反编译过程中会发现,总是有那么几个apk应用不让我们那么容易的反编译,他们就利用apktool

Android应用程序破解(反编译)

一.apktools进行反编译 1.首先安装需要JAVA环境(JDK和JRE) 设置JAVA环境变量 CLASSPATH       %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar JAVA_HOME     C:\Program Files\Java\jdk1.8.0_20 Path    %JAVA_HOME%\bin;C:\Program Files\Java\jre1.8.0_20\bin 2.下载apktools并解压 (1)下载apk

Android 代码混淆 防止反编译

为了防止代码被反编译,因此需要加入混淆.混淆也可以通过第三方进行apk混淆,也可以用android中的proguard进行混淆. 混淆步骤: 1.配置混淆文件,名字可以随意,在这里使用proguard-android,格式为txt. -optimizationpasses 5 # 指定代码的压缩级别 -dontusemixedcaseclassnames # 是否使用大小写混合 -dontskipnonpubliclibraryclasses # 是否混淆第三方jar -dontpreverif

Android代码混淆及反编译

概述: 如果你目前还是一名学生或是没有在应用商店中上传过应用,恐怕对此的感受不深.而在企业中对Java代码的混淆却是一步很重要的步骤,从安全的角度来说,代码混淆,防止居心不良的人对代码进行恶意篡改非常重要.下面就是对Android项目进行的代码混淆和加密签名过程. 步骤: 1.在项目的要目录中添加文件proguard.cfg 2.在项目中的project.properties文件中添加proguard.cfg 3.在proguard.cfg文件中添加 -ignorewarnings -libra

android之cmd手工反编译笔记

Android反编译教程 --西北狼 前端时间有人让帮忙修改apk包名,然后我就翻出以前的翻编译工具来,可以的是,一个小小的APK,居然反编译失败~~~ 然后找了些文章看了下,最后自己重新装工具用cmd命令行手工反编译成功,修改部分东西后重新打包成功,签名成功,安装成功~~~~ 先把经验总结一下: 手工反编译比 网上的集成好的工具成功率要高很多(android 逆向助手 v2.0 这个工具的成功率也比较高,里面有很多功能,有兴趣可以试试),so更加推荐使用酱紫的方式~~自己也好了解了解相关知识~