0

0

Android app如何加密

WBOY

WBOY

发布时间:2023-05-26 08:47:19

|

1867人浏览过

|

来源于亿速云

转载

一.什么是android界面劫持

界面劫持是指在Android系统中,恶意软件通过监控目标软件的运行,当检测到当前运行界面为某个被监控应用的特定界面时(一般为登录或支付界面),弹出伪造的钓鱼页面,从而诱导用户输入信息,最终窃取用户的隐私(恶意盗取用户账号、卡号、密码等信息),或者利用假冒界面进行钓鱼欺诈。

Android app如何加密

二. 常见攻击手段

1. 监听系统Logocat日志,一旦监听到发生Activity界面切换行为,即进行攻击,覆盖上假冒Activity界面实施欺骗。

2. 监听系统API,一旦恶意程序监听到相关界面的API组件调用,即可发起攻击。

3. 5.0以下机型枚举获取栈顶Activity,监控到目标Activity出现,即可发起攻击。

4. 恶意启动Service监听目标应用,在切换到目标Activity时,弹出对话框劫持当前界面迷惑用户

三. 预防手段

●    针对用户

几乎所有的Android手机都配备了一个HOME键,如果长按它,就可以查看最近使用的任务。用户在要输入密码进行登录时,可以通过长按HOME键查看近期任务,比如说登录微信时长按发现近期任务出现了微信,那么现在的这个登录界面就极有可能是一个恶意伪装的Activity,切换到另一个程序,再查看近期任务,就可以知道这个登录界面是来源于哪个程序了。

●    针对开发人员

针对钓鱼Activity类型劫持,在登录窗口或者用户隐私输入等关键Activity的onPause方法中检测最前端Activity应用是不是自身或者是系统应用,如果发现恶意风险,则给用户一些警示信息,提示用户其登陆界面以被覆盖,并给出覆盖正常Activity的类名。

如果是针对弹窗对话框类型的劫持,接管Activity的生命周期,当发现当前界面onResume之后,判断是否失去焦点;如果同时存在则有可能是对话框类劫持,判断此时运行的活动进程是否包含敏感权限(全局Alert权限、获取任务栈权限等),如果有的话则给用户告警。

Android 的 APK 中怎么放置反编译“炸弹”

上面文章里提到的"炸弹", 其实就是反编译器的 bug,所以针对不同的反编译器,需要设计不同的“炸弹”。先了解一下常用的 APK 反编译工具:

●     baksmali/smali: baksmali 能将二进制 dex 文件转化为 smali 文本文件用于分析,smali 则能将 smali 文件重新编译为 dex 文件。

●    Apktool : 整合了 baksmali/smali 用于处理 dex 文件, 另外实现了 res 资源文件(比如layout / strings等)的反编译。

●   AxmlPrinter : 用于将二进制形式的 AndroidManifest.xml 转换为文本形式的 AndroidManifest.xml。

●    dex2jar: 能将 dex 转化为 jar 文件。

●    jd-gui: 能将 jar 文件反编译为 java 源代码。

●    Ida Pro: 主要用于反编译 Apk 中的 So 文件,也支持将 dex 文件反编译为类似smali 语法的文本形式指令。

易森网络企业版
易森网络企业版

如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld

下载

从上面的反编译工具可以看出,主要分三种功能:

●    反编译资源,如 AndroidManifest.xml、layout.xml

可以对Dex文件进行反编译,或将其转换为Java代码

●    反编译 So 文件

炸弹”的设置需要对特定的文件格式有相当的了解,而且可能只能针对某个反编译工具的。

Android app如何加密?

An Android app comprises dex files, so files, res and assets resources.。这个内容可以重写为:该加密技术可分为三个主要方面:DEX文件的保护、SO文件的加密以及资源文件(如res和assets)的保护。

●   dex保护

未加密的dex文件来自于Java编译和打包,因此破解成本较低且易受攻击。从加壳最基础的形式开始,到函数执行体抽取、动态加载,再到目前的 vmp 虚拟机保护,该方案的安全性逐步提升。特别是在vmp加固中,使用了自行研发的虚拟机来解释函数体,如果指令加密替换运用得当,会让破解者感到非常困难。

●    so加密

so文件,由起初的段加密,发展到自定义elf结构的加密方式,能防止IDA查看函数名称,增加破解成本和难度。

●    资源保护

res资源文件,通常只采用混淆的方式增加逆向难度。assets资源,一般不处理。由于H5应用数量的不断增长,一些供应商(如易盾和娜迦)已提供了assets加密功能,但其实现原理并不清楚。

除了上述三点防护外,还有防反编译、防二次打包、防调试、防模拟器、防xposed功能等。

b) 为了防止反编译,通常会对市场上的反编译工具(如apktool)进行反制,利用其漏洞使反编译失败

b) 防二次打包,一般常用的是在代码里保存签名信息,启动时在native层将当前apk的签名信息与保存的签名进行比对。市面上已有破击工具。可以在常用实现方式上做些升级。

c) 防调试,通过ptrace进程,阻止破解者再ptrace调试。

d) 防模拟器,检测/system/bin/su和/system/xbin/su文件。

检测XposedHelpers的methodCache,以判断是否被hook来防范xposed。

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

832

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

738

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

734

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16925

2023.08.03

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 11.8万人学习

Java 教程
Java 教程

共578课时 | 45.9万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 6.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号