一. 背景由于项目有一些比较敏感的判断函数放在了native层,比如是否被改包,是否被Hook,是否被监听,是否有代理,是否运行了一些敏感程序等等,这种接口在编写的时候为了方便一般会写成isModifyPkg,isHook,isListening等等这样的函数,由于是JNI方法,因此也不能混淆,所以很容易被居心不良者直接hook住Java层或者反编译后通过关键字查找到函数调用,从而改变判断逻辑。因
转载
2023-06-27 15:32:57
199阅读
系列文章目录Android打造专有hook,让不规范的代码扼杀在萌芽之中Android打造专有hook第二篇,走进规范第一步上篇文章,环境已经搭建,初始化程序已经完成,所需要的配置文件也均已创建,后面就是着手业务逻辑编写了,各位老铁,准备,开干!开干前,需要再次补充一下,虽是Android端的规范检查,但开发语言是Js,所以啊,各位铁子,不了解的话,抽个时间,看一看Js相关的语法,这么说吧,简单,
转载
2023-12-13 06:20:12
30阅读
文章目录Hook作用Hook入口分析准备工作在AMS上做hook入口反射获取ActivityManagerProxy实例动态代理ActivityManagerProxy欺骗AMS权限检查过程还原目标Activity的启动还原目标Activity后遇到的问题利用Instrumentation类做hook入口结束语 Hook作用Hook就是利用反射机制动态替换运行过程中的对象,以进行方法拦截(动态代理
转载
2024-01-02 08:32:47
37阅读
系列文章目录Android打造专有hook,让不规范的代码扼杀在萌芽之中在第一篇的概述中,对于本系列文章,我大概预估了一下,需要四篇文章来进行讲解,基本上就是,第一篇了解用法和实际当中的效果,第二篇和第三篇进入实战,最后一篇收尾及市场发布,让别人使用,尽量做到,细致入微,毫无保留的分享给大家,希望能给大家在规范的检测上带来一丝帮助,想了解最终规范检测功能的朋友,可以看第一篇的内容,里面有最后的实现
转载
2024-01-16 20:29:50
47阅读
# 学习 Android 开发中的 Hook 技术指南
在 Android 开发中,Hook 技术可以让开发者修改或扩展现有代码的行为。对于初学者来说,理解 Hook 的实现过程和应用场景是非常重要的。本文将为您提供一个详细的步骤指南,帮助您在 Android 开发中实现 Hook。
## 整体流程概述
以下是 Hook 实现的步骤概述:
| 步骤 | 操作
原创
2024-08-17 03:41:41
60阅读
# Android开发 Hook
Android开发中,Hook是一种在运行时修改或者替换代码逻辑的技术。通过Hook,我们可以拦截并修改应用程序的行为,从而实现一些非常有用的功能,比如修改系统行为、破解游戏、实现自动化测试等等。本文将介绍Android开发中的Hook技术,并带有一些代码示例。
## 什么是Hook
在Android开发中,Hook是指通过修改或者替换代码逻辑,来改变应用程
原创
2023-11-19 07:19:15
86阅读
文章目录1. 前言2. 将外部dex加载到宿主app的dexElements中3. 插件中四大组件的调用思路4. Hook2.1 对startActivity进行Hook2.1.1 AMS2.1.2 源码分析2.1.2.1 得到AMS实例对象2.1.3 对startActivity进行Hook2.1.3.1 创建AMS的代理对象5. References6. 完整代码 1. 前言在Android
转载
2024-01-07 21:13:58
24阅读
文章目录1 Hook概述和技术原理2 知识点2.1 动态代理2.2 反射的简单示例2.3 startActivity源码分析3 Hook startActivity(基于Android6.0)4 Hook startActivity(基于Android8.0)5 修改Intent6 Hook mH7 完整代码8 图解9 问题9.1 Hook技术有哪几种实现方式?9.2 为什么需要hook sta
最近做一个项目,对方提出了一个要求APP能自动检测更新,我当时想APP自动检测更新,这个问题很简单嘛,于是乎我就开始做了。实现思路很简单的,就是检测本地的版本号和服务器上面的版本号是否一致,如果本地的版本号小于服务器上面的版本号,就弹出一个提示框,提示更新。因为这是我第一个项目,也是第一次做这么一个功能,就上网搜索了一下,不得不说,就这么一个功能,网上有很多的实现方式的,具体可以自行搜索我选择的是
转载
2024-04-19 09:56:44
93阅读
一、我的资料:1、返回样式getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);2、编辑头像和刷新<?xm
转载
2024-07-27 16:51:01
38阅读
# Android开发中的Hook框架检测
在Android开发中,Hook是一种强大的技术,它允许开发者修改系统或应用程序的行为。然而,正因为它的强大,Hook技术也可以被不法分子利用,导致安全隐患。因此,很多开发者需要检测应用是否被Hook。本文将探讨Hook的基本原理,以及如何使用代码检测Hook框架的存在。
## 什么是Hook?
Hook技术可以拦截程序执行期间的函数调用,从而修改
原创
2024-09-08 05:25:30
432阅读
1 在模拟器上运行 (1)打开上次创建的 MyApplication 工程,点击 file->project structure ,如图所示,选中默认的 NDK,然后点击 Apply,最后点击 OK。 (2)选择创建好的模拟器型号,如下图所示 (3)点击工具栏“Run”,再点击如下图所示红框的位置。 (4)等待几分钟,就可以看到模拟器上出现了 helloworld 的字样,如图所
转载
2024-01-27 21:58:42
116阅读
Hook Android C代码安卓逆向分析 by droidsec创建一个目标apk编写目标项目,用于本次实操过程的hook对象1.创建项目android create project –target android-23 –path targetapp –package com.example.targetapp –activity Mainactivity
//执行命令,在当前目录下创建A
转载
2024-02-07 21:42:05
73阅读
Android系统使用了ClassLoader机制来进行Activity等组件的加载;apk被安装之后,APK文件的代码以及资源会被系统存放在固定的目录(比如/data/app/package_name/1.apk)系统在进行类加载的时候,会自动去这一个或者几个特定的路径来寻找这个类;但是系统并不知道存在于插件中的Activity组件的信息,插件可以是任意位置,甚至是网络,系统无法提前预知,因此正
转载
2023-10-12 09:07:10
258阅读
在中国互联网这片弱肉强食的丛林中,封闭抄袭是垄断巨头的通行证,创新是弱小创业者的墓志铭。了解Hook还没有接触过Hook技术读者一定会对Hook一词感觉到特别的陌生,Hook英文翻译过来就是“钩子”的意思,那我们在什么时候使用这个“钩子”呢?我们知道,在Android操作系统中系统维护着自己的一套事件分发机制。应用程序,包括应用触发事件和后台逻辑处理,也是根据事件流程一步步的向下执行。而“钩子”的
最近学了点ollvm相关的分析方法,正好之前朋友发我一个小demo拿来练练手.看上去很简单 就是找flag用jadx打开发现加壳了然后想试试直接用fridadexdump脱壳的时候发现frida上就崩了上葫芦娃的strongfrida 直接重启了!....这只能去过反调试了,打开so找了下.init和.initarray(反调试常见位置,so比较早的加载时机)ctrl+s 打开 initarray
转载
2024-08-12 18:42:47
175阅读
AndroidNativeEmu食用手册:https://bbs.pediy.com/thread-254799.htm 著名开源项目xHook:https://github.com/iqiyi/xHook/blob/master/docs/overview/android_plt_hook_overview.zh-CN.md 本文将结合本项目的源代码,详细阐述An
转载
2023-07-17 18:38:29
150阅读
由于Android是基于linux内核的开源系统,根据语言环境不同可以分为Java层、Native C层、Linux Kernel层。Java层的安全是使用Java语言开发,基于SDK,能实现的功能相对简单。Linux Kernel层安全,需要从源码做起,编译自己的系统,通用性不强。因此在Native C层,通过JNI开发,可以使用linux提供的函数实现更多的功能。在hook API方面与lin
转载
2023-07-06 21:21:31
184阅读
老样子,上一篇MonkeyLei:Java-Hook技术-入门实践+反射、动态代理、热修复再看看 我们Hook学习了一下,一个是Java本地Main的实践练习。 一个是Android的监听事件的Hook的练习。 Now,我们Hook拦截下通知。流程如出一辙,都是先去跟踪通知流程,然后找到我们需要以及能够Hook的接口对象,然后替换它。就是之前有篇文章说到的Hook四板斧: 1. 根据需求确定
转载
2023-07-01 20:45:49
200阅读
简介什么是 HookHook 又叫“钩子”,它可以在事件传送的过程中截获并监控事件的传输,将自身的代码与系统方法进行融入。这样当这些方法被调用时,也就可以执行我们自己的代码,这也是面向切面编程的思想(AOP)。Hook 分类1.根据Android开发模式,Native模式(C/C++)和Java模式(Java)区分,在Android平台上Java层级的Hook;Native层级的Hook;2.根
转载
2023-11-04 19:43:26
148阅读