当前位置: 首页 > news >正文

Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)

目录

前言:

准备资料:

正文:

1:打包一个带有签名的apk

2:对包进行反编译

3:使用ipaguard来对程序进行加固


前言:

对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity打包出来的包进行代码加固和混淆。

准备资料:

1:Obfuscator.zip  作用是代码混淆,是Unity的一个插件

2:Apkdb.rar    作用是反编译apk,做过修改之后回编译成修改好的apk

3:Reflector_8.5.0.179_XiaZaiBa.zip 作用是反编译代码,方便查看代码

4:IPAguard.exe 作用是对包进行重新签名和对apk的加固

以上文件下载地址:IpaGuard官网--IOS 应用程序ipa文件混淆加密保护工具

正文:

1:打包一个带有签名的apk

在打包Player Settings设置里面,需要对签名重新设置,签名可以理解成为一个证书,可以设置密码信息,保证一部分的程序安全,据说在Unity5.0对程序的安全有了初步保障,有一个默认的签名。但是个人习惯还是使用自己的签名为好,如下图:

以上都设置好之后,Alias下拉框选项就会多出一个选项,此时就是需要创建的签名了

点击 Create a new key之后,如图,填写所需要的信息,就可以创建了新的签名了,新的签名一定要保存好,这个东西对于程序加固还有作用。如图所示

我是保存到桌面上了

然后正常发布自己的包就可以了

2:对包进行反编译

接下来就要用到上面介绍的各种工具了,首先使用的是Apkdb反编译工具,首先解压出来,这是一个安装包,解压之后,需要进行对其安装,最好是关闭杀毒软件,安装界面是一个dos界面,

选择1 简体中文就可以了,输入1   然后回车继续安装

安装过程中,会提示你需要安装Java,当然,对于已经打包出包来说,这些肯定已经配置了,如果还没有配置,则需要配置Java环境了,当然,还有Android的SDK的配置,这个请自行搜索,网上很多教程,这里就不多说了,如图所示:

按任意键继续  就开始安装程序了,等待安装完毕后,会有一个选项,这里选择1或2都可以,我选择1

然后会让你选择安装器,这个选择哪个都行,我选择N

然后需要你重启电脑,因为要配置鼠标右键的功能

重启后,右键自己发布出来的apk,你会发现多了一些东西,这些东西都是有用的

点击APKDB编译,就准备开始对apk进行反编译

这里选择1  于是就开始反编译了,编译完成后,就在同级目录下生成一个文件夹,这就是反编译出来的文件

然后就开始对代码的混淆了

3:使用ipaguard来对程序进行加固

代码加固是进一步保护应用的一种方式,通常通过特定平台来对应用进行加固处理。

这边以ipaguard为例,目前还在免费阶段,想薅羊毛的快快试试。

Ipa Guard是一款功能强大的ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件的代码,代码库,资源文件等进行混淆保护。 可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加ipa破解反编译难度。可以对图片,资源,配置等进行修改名称,修改md5。只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5类app。

所以就要使用到混淆器,混淆器是把里面的代码变量等信息进行重命名,这样可读性会变得非常差,接着,

到这里,我们完成了对代码的混淆,但是还没有进行加固,防止反编译,所以,请往下看

然后导入自己的包就可以了,这里是流水式的走下来,所以只需要导入和导出就可以了,

添加单个文件,选择好刚刚混淆后的包,然后你做的事情就是等,等待上传完--加固完--下载完--已完成,当到已完成的时候,说明这里已经可以导出了,导出需要前面提到的自己创建的签名,这里可是会用到的,如果不用,则包安装包可能会出现问题

选择导出签名包,选择签名文件,输入密码,然后点击开始导出

导出的包是经过混淆,经过加固比较安全的包了

相关文章:

Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)

​ 目录 前言: 准备资料: 正文: 1:打包一个带有签名的apk 2:对包进行反编译 3:使用ipaguard来对程序进行加固 前言: 对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿…...

C语言扫雷小游戏

以下是一个简单的C语言扫雷小游戏的示例代码&#xff1a; #include <stdio.h>#include <stdlib.h>#include <time.h>#define BOARD_SIZE 10#define NUM_MINES 10int main() { int board[BOARD_SIZE][BOARD_SIZE]; int num_flags, num_clicks; int …...

用取样思想一探AIX上进程性能瓶颈

本篇文章也是我在解决客户问题时的一些思路&#xff0c;希望对读者有用。 本文与GDB也与DBX&#xff08;AIX上的调试工具&#xff09;无关&#xff0c;只是用到了前文《GDB技巧》中的思想&#xff1a;取样思想 客户问题&#xff1a; 原始问题是磁盘被占满了&#xff0c;通过…...

分布式搜索引擎elasticsearch(二)

1.DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查…...

Tecplot绘制涡结构(Q准则)

文章目录 目的步骤1步骤2步骤3步骤4步骤5步骤6结果 目的 Tecplot绘制涡结构(Q准则判别)并用温度进行染色 Q准则计算公式 步骤1 步骤2 步骤3 步骤4 步骤5 步骤6 结果...

Whisper

文章目录 使后感Paper Review个人觉得有趣的Log Mel spectrogram & STFT Trainingcross-attention输入cross-attention输出positional encoding数据 Decoding为什么可以有时间戳的信息 Test code 使后感 因为运用里需要考虑到时效和准确性&#xff0c;类似于YOLO&#xff…...

Android系统分析

Android工程师进阶第八课 AMS、WMS和PMS 一、Binder通信 【Android Framework系列】第2章 Binder机制大全_android binder-CSDN博客 Android Binder机制浅谈以及使用Binder进行跨进程通信的俩种方式&#xff08;AIDL以及直接利用Binder的transact方法实现&#xff09;_bind…...

五、关闭三台虚拟机的防火墙和Selinux

目录 1、关闭每台虚拟机的防火墙 2、关闭每台虚拟机的Selinux 2.1 什么是SELinux...

【从零开始学习Redis | 第六篇】爆改Setnx实现分布式锁

前言&#xff1a; 在Java后端业务中&#xff0c; 如果我们开启了均衡负载模式&#xff0c;也就是多台服务器处理前端的请求&#xff0c;就会产生一个问题&#xff1a;多台服务器就会有多个JVM&#xff0c;多个JVM就会导致服务器集群下的并发问题。我们在这里提出的解决思路是把…...

Kubernetes学习笔记-Part.05 基础环境准备

目录 Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退 第五章 基础环境准备 5.1.SSH免密登录 在master01、…...

语义分割 DeepLab V1网络学习笔记 (附代码)

论文地址&#xff1a;https://arxiv.org/abs/1412.7062 代码地址&#xff1a;GitHub - TheLegendAli/DeepLab-Context 1.是什么&#xff1f; DeepLab V1是一种基于VGG模型的语义分割模型&#xff0c;它使用了空洞卷积和全连接条件随机&#xff08;CRF&#xff09;来提高分割…...

java设计模式学习之【建造者模式】

文章目录 引言建造者模式简介定义与用途实现方式&#xff1a; 使用场景优势与劣势建造者模式在spring中的应用CD&#xff08;光盘&#xff09;的模拟示例UML 订单系统的模拟示例UML 代码地址 引言 建造者模式在创建复杂对象时展现出其强大的能力&#xff0c;特别是当这些对象需…...

Spring Boot中的RabbitMQ死信队列魔法:从异常到延迟,一网打尽【RabbitMQ实战 一】

Spring Boot中的RabbitMQ死信队列魔法&#xff1a;从异常到延迟&#xff0c;一网打尽 前言第一&#xff1a;基础整合实现第二&#xff1a;处理消息消费异常第三&#xff1a;实现延迟消息处理第四&#xff1a;优雅的消息重试机制第五&#xff1a;异步处理超时消息第六&#xff1…...

nrm : 镜像源工具npm镜像切换

nrm命令 安装nrm&#xff1a;npm i -g nrm 查看镜像源&#xff1a;nrm ls&#xff0c;带*号的为当前使用的源 添加新镜像&#xff1a;nrm add [镜像源名称] <源的URL路径> 切换镜像源&#xff1a;nrm use [镜像源名称] 删除一个镜像源&#xff1a;nrm del [镜像源名称] …...

Star 10.4k!推荐一款国产跨平台、轻量级的文本编辑器,内置代码对比功能

notepad 相信大家从学习这一行就开始用了&#xff0c;它是开发者/互联网行业的上班族使用率最高的一款轻量级文本编辑器。但是它只能在Windows上进行使用&#xff0c;而且正常来说是收费的&#xff08;虽然用的是pj的&#xff09;。 对于想在MacOS、Linux上想使用&#xff0c;…...

iOS 17.2:可以修改消息提示音了

时隔2周之后&#xff0c;苹果今日为开发者预览版用户推送了iOS 17.2 Beta4测试版的更新&#xff0c;已经注册Apple Beta版软件计划的用户只需打开设置--通用--软件更新即可在线OTA升级至最新的iOS 17.2测试版。 本次更新包大小为590M左右&#xff0c;内部版本号为&#xff08;…...

PTA 一维数组7-3出生年(本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话)

以上是新浪微博中一奇葩贴&#xff1a;“我出生于1988年&#xff0c;直到25岁才遇到4个数字都不相同的年份。”也就是说&#xff0c;直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求&#xff0c;自动填充“我出生于y年&#xff0c;直到x岁才遇到n个数字都不相同的…...

【3】基于多设计模式下的同步异步日志系统-设计模式

详细介绍设计模式 单例模式 ⼀个类只能创建⼀个对象&#xff0c;即单例模式&#xff0c;该设计模式可以保证系统中该类只有⼀个实例&#xff0c;并提供⼀个访问它的全局访问点&#xff0c;该实例被所有程序模块共享。⽐如在某个服务器程序中&#xff0c;该服务器的配置信息存放…...

Metasploit的使用和配置

预计更新 第一章 Metasploit的使用和配置 1.1 安装和配置Metasploit 1.2 Metasploit的基础命令和选项 1.3 高级选项和配置 第二章 渗透测试的漏洞利用和攻击方法 1.1 渗透测试中常见的漏洞类型和利用方法 1.2 Metasploit的漏洞利用模块和选项 1.3 模块编写和自定义 第三章 Me…...

测试用例的设计思路

接到提测单后要做的事情&#xff1a; 测试准备阶段 确认提测单内包含的文件、URL地址可以访问确认需求 (迭代目标、用户故事、用户愿望、问题反馈等)确认回归测试范围、更新测试范围、新增测试范围编写测试点思维导图&#xff0c;过程中有问题及时进行沟通与迭代相关人员约一个…...

AI智能体编排框架:一人公司如何用OPC协议构建虚拟团队

1. 项目概述&#xff1a;从单兵作战到AI军团指挥官的蜕变如果你和我一样&#xff0c;是一个独立开发者或者小型创业者&#xff0c;肯定经历过这样的困境&#xff1a;脑子里有一个绝佳的产品创意&#xff0c;但面对从产品设计、前端开发、后端架构、UI/UX、市场增长到法律合规这…...

如何构建高效的个人游戏串流服务器:Sunshine完整部署指南

如何构建高效的个人游戏串流服务器&#xff1a;Sunshine完整部署指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在当今数字娱乐时代&#xff0c;游戏玩家面临着设备限制与体验…...

5 款实用漏洞扫描工具,网安从业者必备收藏

漏洞扫描是指基于漏洞数据库&#xff0c;通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测&#xff0c;发现可利用漏洞的一种安全检测的行为。 在漏洞扫描过程中&#xff0c;我们经常会借助一些漏扫工具&#xff0c;市面上漏扫工具众多&#xff0c;其中有一…...

Claude Code环境变量配置全解析:从入门到精通

1. 项目概述&#xff1a;Claude Code 环境变量配置生成器如果你和我一样&#xff0c;是 Claude Code 的深度用户&#xff0c;那你一定经历过这样的时刻&#xff1a;面对一个复杂的开发任务&#xff0c;想调整一下模型的思考深度&#xff08;Effort Level&#xff09;来平衡成本…...

12-分布式系统测试-缓存-注册中心与链路追踪验证

分布式系统测试&#xff1a;缓存、注册中心与链路追踪验证上篇咱们搞定了消息队列测试&#xff0c;今天继续深入分布式系统的其他组件——Redis缓存、服务注册中心、分布式链路追踪。这些"基础设施"的测试往往被忽略&#xff0c;但出了问题定位起来最头疼。一、Redis…...

Maya-glTF插件深度解析:现代3D工作流中的glTF 2.0导出技术内幕

Maya-glTF插件深度解析&#xff1a;现代3D工作流中的glTF 2.0导出技术内幕 【免费下载链接】maya-glTF glTF 2.0 exporter for Autodesk Maya 项目地址: https://gitcode.com/gh_mirrors/ma/maya-glTF 在当今3D内容创作领域&#xff0c;Maya作为行业标准工具&#xff0c…...

在株洲如何根据个人需求选择合适的床垫?

如何根据个人需求选择合适的床垫&#xff1f;在快节奏的现代生活中&#xff0c;一张舒适的床垫对于保证良好的睡眠质量至关重要。然而&#xff0c;面对市场上琳琅满目的床垫产品&#xff0c;如何根据个人需求选择一款合适的床垫呢&#xff1f;本文将从多个维度出发&#xff0c;…...

为什么你的DeepSeek Terraform配置总在CI/CD中崩溃?5个被官方文档隐藏的state锁机制真相

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么你的DeepSeek Terraform配置总在CI/CD中崩溃&#xff1f;5个被官方文档隐藏的state锁机制真相 DeepSeek 与 Terraform 的深度集成虽提升了 AI 基础设施编排能力&#xff0c;但其 state 锁行为在 …...

京城汤泉夜宿体验:寻找最舒适的放松之地

引言在快节奏的城市生活中&#xff0c;越来越多的人开始追求一种能够彻底放松身心的方式。洗浴汤泉作为其中的一种选择&#xff0c;以其独特的魅力吸引了众多都市人。本文将带您走进京城的洗浴汤泉世界&#xff0c;特别介绍合韵汤泉&#xff0c;帮助您找到最适合自己的放松之地…...

企业级长文档AI落地避坑指南,从PDF解析失真到语义断裂修复——Claude 2026六大隐性能力详解

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;PDF解析失真问题的根源与本质诊断 PDF 文件虽为“便携式文档格式”&#xff0c;但其内部结构高度异构——文本可能嵌入在图形路径中、字体被子集化或完全缺失、字符编码映射断裂&#xff0c;甚至存在跨…...