android 混淆工具下载,Obfuscapk:一款针对Android应用程序的黑盒混淆工具
Obfuscapk是一款模块化的Python工具,它可以帮助研究人员在无需应用程序源代码的情况下对Android App进行混淆处理。Obfuscapk使用了apktool来对原始APK文件进行反编译,并构建出一个新的应用程序,最后再对反编译的smali代码、资源文件和Manifest文件应用混淆处理技术。混淆后的应用回保留原有的函数功能,但不同之处就在于,混淆后的应用源码会跟初始的应用源码有很大的区别。
工具架构
Obfuscapk基于模块化结构实现,以便进行功能扩展,而且还集成了一套插件系统。在Obfuscapk中,每一个混淆器都属于一个插件,并且都继承了一个抽象的基类,它们都需要实现obfuscate方法。当工具开始处理一个新的Android应用文件时,它回创建一个混淆对象来存储所有需要的信息,例如反编译的smali代码的位置,以及处理操作的状态。接下来,Obfuscapk会将混淆对象以参数的形式传递给obfuscate方法,最终发送给所有处于活动状态的插件或混淆器。
值得一提的是,广大研究人员可以根据自己的需要扩展和开发新的混淆器,研究人员可以直接向“src/obfuscapk/obfuscators”目录中添加混淆技术或插件元数据(.obfuscator文件)的实现源码。工具将会自动检测新的插件,因此无需进行额外配置。
工具安装
我们有两种方法来在自己的设备上安装和使用Obfuscapk,第一种就是使用Docker,另一种就是在Python 3.7环境下直接使用项目源码。在这两种方式下,首先要做的就是将项目源码拷贝到本地目录中:$ git clone https://github.com/ClaudiuGeorgiu/Obfuscapk.git
Docker镜像
依赖组件
我们建议大家使用这种方式来安装Obfuscapk,因为这种方式只需要安装Docker的最新版本即可:$ docker --version
Docker version 19.03.0, build aeac949
官方Docker Hub镜像
我们可以直接在Docker Hub上下载官方的Obfuscapk Docker镜像:$ # Download the Docker image.
$ docker pull claudiugeorgiu/obfuscapk
$ # Give it a shorter name.
$ docker tag claudiugeorgiu/obfuscapk obfuscapk
安装
如果你从Docker Hub下载了官方镜像,那么我们就可以直接开始使用了,否则你还需要执行下列命令来创建“Obfuscapk/src/ ”目录(该目录中包含了Dockerfile)来构建Docker镜像:$ # Make sure to run the command in Obfuscapk/src/ directory.
$ # It will take some time to download and install all the dependencies.
$ docker build -t obfuscapk
Docker镜像准备好之后,需要运行下列命令检测是否安装正确:$ docker run --rm -it obfuscapk --help
usage: python3.7 -m obfuscapk.cli [-h] -o OBFUSCATOR [-w DIR] [-d OUT_APK]
...
现在,Obfuscapk已经可以使用了。
源码安装
依赖组件
确保设备上已安装了apktool、jarsigner和zipalign,并且能够直接通过命令行工具使用:$ apktool
Apktool v2.4.0 - a tool for reengineering Android apk files
...
$ jarsigner
Usage: jarsigner [options] jar-file alias
jarsigner -verify [options] jar-file [alias...]
...
$ zipalign
Zip alignment utility
Copyright (C) 2009 The Android Open Source Project
...
如需安装和使用apktool,则要求最新版本的Java。apktool、jarsigner和zipalign的可执行程序路径需要在下列环境变量中进行配置:APKTOOL_PATH、JARSIGNER_PATH和ZIPALIGN_PATH。当然了,除了上述组件之外,你还需要安装Python 3.7。
安装
在项目主目录中运行下列命令即可完成依赖组件的安装:$ # Make sure to run the commands in Obfuscapk/ directory.
$ # The usage of a virtual environment is highly recommended, e.g., virtualenv.
$ # If not using virtualenv (https://virtualenv.pypa.io/), skip the next 2 lines.
$ virtualenv -p python3.7 venv
$ source venv/bin/activate
$ # Install Obfuscapk's requirements.
$ python3.7 -m pip install -r src/requirements.txt
接下来,运行下列命令确保工具安装正确:$ cd src/
$ # The following command has to be executed always from Obfuscapk/src/ directory
$ # or by adding Obfuscapk/src/ directory to PYTHONPATH environment variable.
$ python3.7 -m obfuscapk.cli --help
usage: python3.7 -m obfuscapk.cli [-h] -o OBFUSCATOR [-w DIR] [-d OUT_APK]
...
现在,Obfuscapk已经可以使用了。
工具使用
Docker镜像-本地目录中包含了待混淆的应用程序,需将其加载进容器中的“/workdir”目录中:$ docker run --rm -it -u $(id -u):$(id -g) -v "${PWD}":"/workdir" obfuscapk [params...]
源码-所有的命令都需要在“Obfuscapk/src/”目录中运行:$ python3.7 -m obfuscapk.cli [params...]
查看帮助信息:$ obfuscapk --help
obfuscapk [-h] -o OBFUSCATOR [-w DIR] [-d OUT_APK] [-i] [-p] [-k VT_API_KEY]
工具有两个强制参数,第一个是“”,即待混淆APK的路径;另一个就是需要使用的混淆技术列表:-w DIR:设置工作目录,并保存apktool生成的中间文件。
-d OUT_APK:设置目的文件的路径。
-i:设置是否在混淆过程中忽略第三方库。
-p:是否显示混淆进程条。
-k VT_API_KEY:设置VirusTotal API密钥,仅在使用VirusTotal时需要设置。
工具使用样例
Obfuscapk的简单使用样例:$ # original.apk is a valid Android apk file.
$ obfuscapk -o RandomManifest -o Rebuild -o NewSignature -o NewAlignment original.apk
项目地址Obfuscapk:【GitHub传送门】
*参考来源:ClaudiuGeorgiu,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
android 混淆工具下载,Obfuscapk:一款针对Android应用程序的黑盒混淆工具相关推荐
- 荐六十款针对Hadoop和大数据顶级开源工具
为什么80%的码农都做不了架构师?>>> 荐六十款针对Hadoop和大数据顶级开源工具 2015-08-10 10:37 布加迪编译 51CTO 字号: T | T 说到处理 ...
- 执行ios命令_MEDUZA:一款针对iOS应用程序的通用SSL解绑工具
MEDUZA MEDUZA是一款针对iOS应用程序的通用SSL解绑工具,该工具基于Frida开发,可以当作SSLKillSwitch工具的替代品.本来我是想自己开发自己用的,而且原本并不打算开源出来. ...
- Android通过url下载图片到手机本地并显示和删除本地ImageUtil工具类
文章目录 布局 Activity BroadcastReceiver 文件工具类 图片工具类 Manifest MyApplication 完成代码下载 这里的demo是一个通过下载地址下载图片文件到 ...
- MAC版php开发工具推荐:10款最流行的mac版php开发工具
目前使用MAC ios系统的php开发者越来越多.那目前MAC下php开发都用哪些工具呢?可能对于php初学者不知道该用哪些或者哪些mac版的php开发工具比较好?php中文网特为PHP开发者推荐几款 ...
- android 秒拍开源,六月份21款优秀Android开源库整理推荐
原标题:六月份21款优秀Android开源库整理推荐 1.Android-DivergeView 仿美拍直播的点赞动画. 2.LRecyclerView RecyclerView下拉刷新,自动加载更多 ...
- 录屏工具下载哪个好?分享:超简单的录屏工具及实用方法
在短视频盛行,知识付费,粉丝经济的背景下,下载一款好用的录屏工具可以如虎添翼,为自己制作视频助力.然而面对各种各样的录屏工具,很多人不知道下载哪个好.一旦录屏工具没有选对,即使下载了,不会用也没有意义 ...
- 【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )
文章目录 一.下载 p7zip 源码 二.交叉编译 Android 中使用 7z 可执行程序 三.参考资料 一.下载 p7zip 源码 下载 7zip 源码 , 下载页面 https://source ...
- android堆内存解析,heapsnap HeapSnap 是一款针对 Android 进程堆内存进行追踪、定位,以便查出泄露位置的工具 @codeKK c开源站...
1.HeapSnap 是什么 HeapSnap 是一个定位内存泄露的工具,适用于 Android 平台. 主要特性如下: 对系统负载低 不需要修改目标进程的源代码 支持 Andoroid 上的大多数 ...
- PoT:一款针对Twitter的网络钓鱼安全研究工具
关于PoT PoT是一款功能强大的网络钓鱼安全检测与研究工具,该工具可以帮助广大研究人员针对Twitter用户进行网络钓鱼培训和测试,以确保Twitter用户的账号安全与隐私安全. 工具运行机制 下图 ...
最新文章
- 关于按键消抖以及LED灯控制的一个实例
- WPF之复杂形状控件
- 计算机数值方法期末考试,《计算机数值方法》测试题二
- 富爸爸系列 -- 《财务自由》学习笔记之一
- 文玩扇子(折扇)的寸、方、排口、头分别指什么?
- linux下安装anconda
- 人工智能中的深度结构学习 Learning deep architectures for AI - Yoshua Bengio
- python语法笔记-linux
- chap1统计学习及监督学习
- 数电课程设计数字钟c语言编程,数电数字钟设计,含源码
- 浏览器调用html5播放器,html5视频播放器的浏览器兼容处理方法 - 小俊学习网
- DDOS攻击与防御(一)
- 淘宝购买的ESP-CAM+SD内存卡做一个200W像素的相机arduino IDE开发过程
- C++中优先队列priority_queue的基础用法
- 入门 | S3C2440启动过程分析
- html 苹果 地图,为什么苹果手机自带的地图是高德而不是谷歌?
- 博客专家贡献(2022年至今)--2022-11-29(转)
- LoadRunner性能测试实战教程
- 菲尔兹奖-历届获得者
- python学习 day5 (3月6日)