dex2jar

Android 反编译初探 应用是如何被注入广告的

吃可爱长大的小学妹 提交于 2020-12-29 14:02:36
恩,周末在家感冒卧床打了两天dota 尴了个尬 1 概述 最近和朋友聊天,发现一些灰色产业链通过批量反编译市场上的apk,然后进行注入广告,再重新打包上渠道。 我想大家都不希望自己家的产品或者自己的app那么容易被“占据”,但是想要自身能够防御,首先要知道对方的手段。所以本篇博客的目的不是教大家如何破解别人的app,而是让大家提升安全防御意识,对我们的应用做一些必要的防护,让自己的app不会那么容易被“占领”。 因为是初探,也不需要掌握太多的技术,主要是各种工具的使用了~~ 2 工具 几个重要的工具,注意使用最新版本。 https://ibotpeaches.github.io/Apktool/ http://jd.benow.ca/ https://sourceforge.net/projects/dex2jar/ 相信就是为了学习,大家或多或少都使用过上述几个工具了: apktools主要用户反编译和打包; JD-GUI 主要用于对.class文件展示为源码(比如jar文件) dex2jar 主要用于将dex文件转化为jar文件 如果没有的话,自行下载,尽可能的下载最新版本。 题目是注入广告,那么我们选择一类广告注入,大多数app都有闪屏广告,那么我们就模拟:反编译一个apk,加入我们的闪屏广告页,然后重新打包。 3 步骤 首先需要准备一个apk,我们随便写一个简单的demo。

APP的混淆加固及反编译

醉酒当歌 提交于 2020-11-03 00:21:42
  混淆用于让apk被反编译后获取的代码难理解,加固用于让apk难于被反编译。两种操作都是对项目的安全措施,两个操作是不冲突的,可以选择其一,也可以两个操作都做。 混淆: 针对项目代码,代码混淆通常将代码中的各种元素(变量、函数、类名等)改为无意义的名字,使得阅读的人无法通过名称猜测其用途,增大反编译者的理解难度。 虽然代码混淆可以提高反编译的门槛,但是对开发者本身也增大了调试除错的难度。开发人员通常需要保留原始未混淆代码用于调试。 操作时机:项目打包时 操作方法:Android Studio中找到你的项目module的build.gradle,将minifyEnabled设置为true 加固: 针对apk,加固是多维度的安全防护方案,包括反破解、反逆向、防篡改等,可以防止应用被各类常见破解工具逆向,安全性要远大于单纯的代码混淆。 操作时机:项目打包成的apk文件 操作方法:使用360加固或者梆梆助手、 key.store文件取 Android Studio 下生成的 此加固工具还可以设置多渠道打包标识 反编译工具: 三大神器:apktool 、dex2jar-2.0、jd-gui 一、apktool篇 1、apktool:在文件目录下敲cmd,进入控制台,然后输入 apktool d XXX.APK (要反编译的apk) 2、会在目录下生成对应apk的文件目录 3

鸿蒙开发初体验

做~自己de王妃 提交于 2020-10-28 12:52:02
关注“ 逆锋起笔 ”领取视频教程 ☞ 程序员进阶必备资源免费送「各种技术! 」 ☜ 来源:https://juejin.im/user/4441682709326958 作者:伤心的猪大肠 2020年9月10号,鸿蒙2.0(HarmonyOS 2.0)系统正式发布,鸿蒙2.0面向应用开发者发布Beta版本,在2020年9月10发布大屏,手表,车机版鸿蒙,2020年12月发布手机版鸿蒙。在2020年9月10日,鸿蒙开源路标面向内存128KB-128MB终端设备;2021年10月,将面向4GB以上所有设备。 / 背景 / 作为一个安卓开发者,能够看到国产的操作系统的发布确实很兴奋,兴奋之余,更想要看看具体是怎么一回事,首先打开官网,看看官网该系统的定义:HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。 对应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关,降低了开发难度和成本。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。该优点在5G这个万物互联的时代具有着巨大的优势。 / 安装DevEco Studio / 接下来下载DevEco

如何避免APK文件的反向工程?

不想你离开。 提交于 2020-10-05 14:42:57
问题: I am developing a payment processing app for Android, and I want to prevent a hacker from accessing any resources, assets or source code from the APK file. 我正在开发 适用 于Android的 付款处理应用程序 ,并且我想防止黑客访问 APK 文件中的任何资源,资产或源代码。 If someone changes the .apk extension to .zip then they can unzip it and easily access all the app's resources and assets, and using dex2jar and a Java decompiler, they can also access the source code. 如果有人将.apk扩展名更改为.zip,那么他们可以将其解压缩并轻松访问应用程序的所有资源和资产,并且使用 dex2jar 和Java反编译器,他们还可以访问源代码。 It's very easy to reverse engineer an Android APK file - for more details see Stack Overflow

Android逆向反编译代码注入APK过程思路分析

孤人 提交于 2020-09-29 20:36:10
一、名称解释 逆向 - 是一种产品设计技术再现过程,从可运行的程序系统出发,运用解 密、反汇编、系统分析等多种计算机技术,对软件的结构、流程、算法、 代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、 算法、处理过程、运行方法及相关文档等。 反编译 – 指把机器码(汇编语言) → 高级编程语言,也就是通过反编译工 具对低级语言进行逆向工程,获取其源代码,比如Java的反编译,就是将 class文件转换成java文件。 APK - (全称:Android application package,Android应用程序包)是 Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动 应用及中间件,一个包含所有代码和资源文件的压缩包。 二、反编译工具 Apktool 功能: 将APK文件反编译出程序源代码、图片资源、布局文件以 及smali文件等,并能将编译后的项目重新打包成APK。 dex2jar 功能: 将classes.dex转化成.jar文件。 JD-GUI 功能: 查看.jar源码文件。 三、注入思路流程图 四、流程详解 将目标apk反编译出smali1文件; 把目标apk解压后,使用dex2jar工具将dex文件转为jar文件; 通过JD打开jar文件,查看目标App业务逻辑,找到对应 注入的地方; 开发jar包库文件;

apk 反编译

时光总嘲笑我的痴心妄想 提交于 2020-08-18 21:11:03
apk 反编译 - 最新版图文教程 结合网上众多教程,整理一篇自己操作的,工具都是目前最新版 apk 反编译也就是将打包后的 apk 反编译为资源文件(图片)、layout、样式、相关的实现代码等。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,学习) 后续也会再整理一篇防止反编译的教程 转载请注明出处 一、准备工具 提示:这些工具在官网都不好下载,偶也是废了好大力气呢,建议直接下载我提供的网盘链接 (1) 使用工具介绍: 1.apktool 最新版 jar 包 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 2.dex2 jar 的zip包 作用:将apk反编译成java源码(classes.dex转化成jar文件) 3.jd-gui 工具 作用:查看APK中classes.dex转化成出的jar文件,即源码文件 (2) 使用工具下载与安装: 1.apktool_2.3.4 jar 包(2018.10.31 目前最新版) 百度网盘地址: https://pan.baidu.com/s/1Vp6PDUc9dfgN0QPtwFp4Zw 密码:c8n3 官网下载地址: https://bitbucket.org/iBotPeaches/apktool/downloads/ 2.dex2 2.0 jar 包(2018.10.31

apk 反编译

偶尔善良 提交于 2020-08-18 06:32:20
apk 反编译 - 最新版图文教程 结合网上众多教程,整理一篇自己操作的,工具都是目前最新版 apk 反编译也就是将打包后的 apk 反编译为资源文件(图片)、layout、样式、相关的实现代码等。(注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,学习) 后续也会再整理一篇防止反编译的教程 转载请注明出处 一、准备工具 提示:这些工具在官网都不好下载,偶也是废了好大力气呢,建议直接下载我提供的网盘链接 (1) 使用工具介绍: 1.apktool 最新版 jar 包 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 2.dex2 jar 的zip包 作用:将apk反编译成java源码(classes.dex转化成jar文件) 3.jd-gui 工具 作用:查看APK中classes.dex转化成出的jar文件,即源码文件 (2) 使用工具下载与安装: 1.apktool_2.3.4 jar 包(2018.10.31 目前最新版) 百度网盘地址: https://pan.baidu.com/s/1Vp6PDUc9dfgN0QPtwFp4Zw 密码:c8n3 官网下载地址: https://bitbucket.org/iBotPeaches/apktool/downloads/ 2.dex2 2.0 jar 包(2018.10.31

Android ***测试学习手册(三)Android 应用的逆向和审计

断了今生、忘了曾经 提交于 2020-08-04 18:25:55
在本章中,我们将查看 Android 应用程序或 .apk 文件,并了解其不同的组件。 我们还将使用工具( 如 Apktool,dex2jar 和 jd-gui) 来逆向应用程序。 我们将进一步学习如何通过逆向和分析源代码来寻找 Android 应用程序中的各种漏洞。 我们还将使用一些静态分析工具和脚本来查找漏洞并利用它们。 3.1 Android 应用程序拆解 Android 应用程序是在开发应用程序时创建的数据和资源文件的归档文件。 Android 应用程序的扩展名是 .apk ,意思是应用程序包,在大多数情况下包括以下文件和文件夹: Classes.dex (文件) AndroidManifest.xml (文件) META-INF (文件夹) resources.arsc (文件) res(文件夹) assets(文件夹) lib (文件夹) 为了验证这一点,我们可以使用任何归档管理器应用程序( 如 7zip,WinRAR 或任何首选应用程序) 简单地解压缩应用程序。 在 Linux 或 Mac 上,我们可以简单地使用 unzip 命令来展示压缩包的内容,如下面的截图所示: 这里,我们使用 -l ( list) 标志,以便简单地展示压缩包的内容,而不是解压它。 我们还可以使用 file 命令来查看它是否是一个有效的压缩包。 Android 应用程序由各种组件组成

Android反编译三件套 apktool 、dex2jar、jd-gui

自作多情 提交于 2020-07-29 10:23:31
1.还是老话下载三件套(点击下载)   或者自己在百度搜索下载    2.使用apktool反编译apk   cd到D:\TESTCODE\android\android反编译三件套目录下   输入java -jar apktool_2.3.4.jar d -f yv.apk -o vpn   yv.apk (要反编译的apk名字) vpn(反编译后存到vpn目录下),注:我的yv.apk和apktool 、dex2jar、jd-gui 处于同一目录下。    3.查看vpn目录下的反编译情况    4.使用dex2jar反编译apk得到Java源代码   将yv.apk解压将其中的classes.dex文件放到dex2jar-2.0 目录下    5.dos命令定位到dex2jar.bat所在目录,输入"d2j-dex2jar classes.dex",效果如下:       6.使用【jd-gui】工具将class文件反编译成java源代码   双击jd-gui.exe 将classes-dex2jar.jar 拖入jd-gui.exe即可      参考:https://blog.csdn.net/s13383754499/article/details/78914592   也有在线反编译的工具 http://www.javadecompilers.com/jad 来源:

Android反编译(一) 之反编译JAVA源码

放肆的年华 提交于 2020-07-27 14:48:36
Android 反编译(一) 之反编译JAVA源码 [目录] 1、工具 2、反编译步骤 3、实例 4、装X技巧 1、工具 1).dex反编译JAR工具 dex2jar http://code.google.com/p/dex2jar/downloads/list 2).JAVA反编译工具 JD-GUI http://jd.benow.ca/ 2、反编译步骤 步骤1:把apk文件后缀名改为.zip 步骤2:解压zip包得到classes.dex 步骤3:将Dex反编译为Jar包(工具:dex2jar) 命令: CMD> dex2jar.bat classes.dex 步骤4:用jd-gui查看反编译的jar包 3、实例 步骤1:把apk文件后缀名改为.zip 步骤2:解压zip包得到classes.dex 步骤3:将Dex反编译为Jar包(工具:dex2jar) 步骤4:用jd-gui查看反编译的jar包 注: jd-gui可将JAR,保存为 JAVA源文件的 *src.zip,需要看.java,解压即可。 4、装X技巧 以下介绍两种装X技巧: 一)装X初级篇: 简化步骤3,每次打开CMD,手敲 dex2jar.bat classes.dex,痛苦了、太痛苦了... 1).在dex2jar目录下,新建[ 反编译.bat ]文件,输入 [ 反编译.bat ] dex2jar.bat