背景很多时候由于后台返回的数据异常,可能会导致App闪退。而如果这些异常数据被App本地缓存下来,那么即使杀掉进程重新进入还是会发生闪退。唯一的解决方法就是清除App数据,但是用户可能没有这个意识或者嫌麻烦就直接不再使用了,这是我们无法接受的。在使用淘宝、追书神器等App时我发现有时候它们也会连续闪退,但是往往闪退三次后就恢复正常了,所以一般成熟的App都会做连续闪退三次后清除缓存数据的工作。而目
转载
2023-07-03 18:58:58
174阅读
最近开发的时候,使用了一个单例模式,当我返回键退出App,再重新启动,发现App的确是从首页启动,在还没有执行到为单例类设置数值时候,断点调试的发现已经有了一个数据,并且是上一次运行留下的数据,当时觉得很神奇,明明根Activity已经执行了OnDestroy(),而且再启动的确是从首页过来的,讲道理应该是“Everything will be new”,但是单例里面的数据仍然存在,这可是为什么呢
# Android开发中的返回键处理:如何防止应用重启
在Android应用开发中,返回键(Back Key)是用户界面交互的重要组成部分。默认情况下,按下返回键会使当前活动(Activity)结束并返回到上一活动。然而,有时我们希望能够防止应用因返回按钮被按下而重启,尤其是在进行数据处理或需要维持状态时。本文将探讨如何实现这一功能,并提供相应的代码示例,以及一个简单的项目管理甘特图。
##
登录成功后不想让用户再返回到登录页,支付成功后不想用户再返回到支付页。
在开发中可能会有这样的需求:在登录成功后不想让用户再返回到登录页,支付成功后不想用户再返回到支付页。hybrid app和流应用,他们的处理机制是,登录成功后,杀死登录页。最近在开发微信公众号,我就在想h5能不能也做到类似的效果,避免回退到不想出现的页面。单页面应用,
由于近几年来移动应用变得火热,呈突发式激增。数据以及软件也面临各种安全挑战。软件保护,数据保护也成为了一个热门话题。今天就专门对Android移动软件中的ELF文件的保护进行简要说明。主要是针对ELF方面的保护进行框架描述。若以后有机会希望能整理成书,为大家提供精神食粮。 很多ELF的保护方案大部分是从windows PE文件的方案中继承下来的。总体上来说就是破坏调试以及增加调试的难度。
转载
2024-07-30 08:41:29
51阅读
# jQuery 跳转后防止返回
在网页开发中,有时我们需要通过点击按钮或链接实现页面跳转,但有时我们希望跳转后用户无法通过浏览器的返回按钮返回到上一个页面。这种需求在某些特定的情况下是很有用的,比如在支付页面跳转后防止用户重复提交订单等。
在本文中,我们将介绍如何使用 jQuery 实现跳转后防止返回的功能,并结合代码示例来演示具体实现方式。
## 使用 history.pushState
原创
2024-04-08 05:20:03
136阅读
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客。接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码。这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创。下面我们来介绍一下这种方法。  
转载
2023-10-13 08:52:27
94阅读
随着Android设备上的隐私安全问题越来越被公众重视,恶意软件对用户隐私,尤其是对电话、短信等私密信息的威胁日益突出,各大主流安全软件均推出了自己的隐私行为监控功能,在root情况下能有效防止恶意软件对用户隐私的窃取,那么这背后的技术原理是什么?我带着疑问开始一步步探索,如果要拦截恶意软件对电话、短信等API的调用,在Java或者Dalvik层面是不好进行的,因为这些层面都没有提供Hook的
转载
2023-10-09 22:46:16
106阅读
避免内存泄漏 背景 Android应用最多可以使用16MB的堆内存 因此,要做到及时地释放应用所占用的内存资源,还要避免内存的泄漏 引起内存泄漏的主要原因: Context索引的长期存在 两种类型的Context: Activity & Application UI组件在构造方法中传入Context参数的原因: Context可用于很多的操作,主要是访问应用的资源 例如:@Override
转载
2023-10-10 20:45:42
143阅读
防止反编译作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的
转载
2023-08-03 23:29:54
2阅读
一.背景项目中需要一个获取验证码的倒计时,需要应用被杀死,再次进入能继续倒计时。如果使用系统提供的倒计时CountDownTimer,在杀死进程后,就必须重新创建对象,倒计时被清空。因此,需要自己实现倒计时,并且不能使用对象来保存时间数据,必须是持久化的,例如使用SharedPreferences来保存。二.方案思路方案一:使用系统时间保存倒计时完成的时间stopTime,每过一秒,计算一次完成时
转载
2023-10-27 00:32:35
348阅读
android 项目导出apk安装文件其实就是一个压缩包,里面包含了所需资源和源代码,当然商业性质的应用都有防止反编译,就算反编译后扔让你无法看懂代码,本文简要介绍反编译方法和所用工具,利用反编译进行代码copy和盗取机密,本人是不赞成的。所用工具:apktool,dex2jar.bat,jd-gui下面主要介绍使用dex2jar.bat 对源代码反编译步骤:1,首先把apk文件改名为.zip,用
转载
2023-09-10 21:56:58
147阅读
在应用开发中,如果有签到打卡之类的功能,我们肯定需要在项目中禁止用户开启虚拟定位,导致在***米之外的距离模拟定位然后进行了打卡操作!(一)首先:获取用户手机是否打开了 “允许模拟位置” 选项?其实很简单,这些设置项,基本都是写在数据库里,所以只要看看setting的源码(或者查看logcat可能也可以得到些有用的信息),就能知道该配置是写了数据库的哪个字段。boolean
转载
2023-07-03 18:59:36
470阅读
编写目的防内存dump比较笼统,本篇只介绍使用inotify相关实现(以BB为例)。写在前面内存dump介绍关于内存dump相关介绍,请参考如下链接:讨论android加固防内存dump的技术及vmp壳的防护强度: https://bbs.pediy.com/thread-206293.htmandroid应用反调试以及反内存dump代码收集: https://github.com/parkerp
最小特权原则是系统安全中最基本的原则之一。具体来说,指的是“在完成某种操作时,赋予系统主体(用户或进程)所必须的最小特权,确保系统由于事故、错误、篡改等原因造成的损失最小”。最小特权原则一方面需要系统提供主体必要的特权,以确保操作能够正常、正确地执行;另一方面需要系统“仅仅”提供所必须的特权,限制主体完成计划之外的操作。很多时候,我们不经意的习惯,恰恰违反了最小特权原则。这些习惯会在一定程度上带来
# Android防止死机的实现指南
当我们开发Android应用时,防止应用在运行中死机是非常重要的。以下是如何实现这一目的的步骤,本文将逐步引导你理解整个流程,并且通过代码示例帮助你更好地掌握相关知识。
## 流程概述
下面是实现Android防止死机的基本流程:
| 步骤 | 描述 |
|------|----------------
文章目录一、内网穿透概述1、传统内网穿透介绍2、ZeroTier和Tailscale二、ZeroTier1、概述1.1 介绍1.2 相关概念2、ZeroTier简单使用3、Moon搭建3.1 介绍3.2 部署Moon服务3.3 使用 Moon 服务4、流量转发与局域网访问4.1 概述4.2 转发服务器配置4.3 客户端配置三、Tailscale1、概述1.1 Tailscale简介1.2 优势1
# 如何实现Android防止Dump
在Android开发中,保护应用程序的安全性是一个不可忽视的重要任务。我们常常需要防止敏感信息被非法用户获取,而Dump(转储)是其中一种常见的攻击手段。本文将介绍如何实现Android防止Dump的具体步骤,从而保障应用的数据安全。
## 流程概述
以下是实现Android防止Dump的基本步骤:
| 步骤 | 描述
原创
2024-07-31 07:13:43
35阅读
# Android防止Hook技术指南
作为一名经验丰富的开发者,我很高兴能帮助你了解如何实现Android防止Hook。Hook技术在Android开发中是一种常见的技术手段,但有时我们也需要防止应用被Hook,以保护应用的安全。以下是实现Android防止Hook的步骤和代码示例。
## 1. 理解Hook技术
首先,我们需要理解什么是Hook技术。Hook技术是一种动态拦截系统或应用程
原创
2024-07-30 08:00:42
336阅读
# 防止Android调试的实现方法
在Android应用开发中,防止调试是确保应用安全性的重要手段之一。调试会让攻击者轻易地访问应用的内部数据,从而构成威胁。因此,学会如何有效地防止调试是每位开发者必备的技能。本文将帮助你了解实现这一目标的整个流程,并提供具体的代码示例。
## 流程概述
下面的表格列出了防止调试的基本步骤:
| 步骤 | 描述