系列文章目录Android打造专有hook,让不规范的代码扼杀在萌芽之中Android打造专有hook第二篇,走进规范第一步上篇文章,环境已经搭建,初始化程序已经完成,所需要的配置文件也均已创建,后面就是着手业务逻辑编写了,各位老铁,准备,开干!开干前,需要再次补充一下,虽是Android端的规范检查,但开发语言是Js,所以啊,各位铁子,不了解的话,抽个时间,看一看Js相关的语法,这么说吧,简单,
转载
2023-12-13 06:20:12
30阅读
一. 背景由于项目有一些比较敏感的判断函数放在了native层,比如是否被改包,是否被Hook,是否被监听,是否有代理,是否运行了一些敏感程序等等,这种接口在编写的时候为了方便一般会写成isModifyPkg,isHook,isListening等等这样的函数,由于是JNI方法,因此也不能混淆,所以很容易被居心不良者直接hook住Java层或者反编译后通过关键字查找到函数调用,从而改变判断逻辑。因
转载
2023-06-27 15:32:57
199阅读
一、Hook技术 1.Hook英文翻译为“钩子”,而钩子就是在事件传送到终点前截获并监控事件的传输,像个钩子钩上事件一样,并且能够在钩上事件时,处理一些自己特定的事件; 2.Hook使它能够将自己的代码“融入”被勾住(Hook)的进程中,成为目标进程的一部分; 3.在Andorid沙箱机制下,Hook是我们能通过一个程序改变其他程序某些行为得以实现; 二、H
转载
2023-07-11 22:32:29
174阅读
最近在学习图片加载框架Glide的时候,被他精简的写法震惊了。一句话,就可以搞定。Glide.with(mContext) .load(url) .centerCrop() .placeholder(R.drawable.default_img) .crossFade() .into(mImageView); 同时
原创
2021-09-08 22:11:28
206阅读
一、MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互。同一时候让Model仅仅关系数据的处理。基于MVC概念的MVP(Model-View-Presenter)模式应运
转载
2016-02-01 20:12:00
53阅读
系列文章目录Android打造专有hook,让不规范的代码扼杀在萌芽之中在第一篇的概述中,对于本系列文章,我大概预估了一下,需要四篇文章来进行讲解,基本上就是,第一篇了解用法和实际当中的效果,第二篇和第三篇进入实战,最后一篇收尾及市场发布,让别人使用,尽量做到,细致入微,毫无保留的分享给大家,希望能给大家在规范的检测上带来一丝帮助,想了解最终规范检测功能的朋友,可以看第一篇的内容,里面有最后的实现
转载
2024-01-16 20:29:50
47阅读
文章目录Hook作用Hook入口分析准备工作在AMS上做hook入口反射获取ActivityManagerProxy实例动态代理ActivityManagerProxy欺骗AMS权限检查过程还原目标Activity的启动还原目标Activity后遇到的问题利用Instrumentation类做hook入口结束语 Hook作用Hook就是利用反射机制动态替换运行过程中的对象,以进行方法拦截(动态代理
转载
2024-01-02 08:32:47
37阅读
# Android开发 Hook
Android开发中,Hook是一种在运行时修改或者替换代码逻辑的技术。通过Hook,我们可以拦截并修改应用程序的行为,从而实现一些非常有用的功能,比如修改系统行为、破解游戏、实现自动化测试等等。本文将介绍Android开发中的Hook技术,并带有一些代码示例。
## 什么是Hook
在Android开发中,Hook是指通过修改或者替换代码逻辑,来改变应用程
原创
2023-11-19 07:19:15
86阅读
定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、接口、枚举、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。作用分类:①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】③编译检查:通过代
转载
2024-06-24 13:00:05
27阅读
# 学习 Android 开发中的 Hook 技术指南
在 Android 开发中,Hook 技术可以让开发者修改或扩展现有代码的行为。对于初学者来说,理解 Hook 的实现过程和应用场景是非常重要的。本文将为您提供一个详细的步骤指南,帮助您在 Android 开发中实现 Hook。
## 整体流程概述
以下是 Hook 实现的步骤概述:
| 步骤 | 操作
原创
2024-08-17 03:41:41
60阅读
技术准备 下面来看一下这个技术需要哪些知识点 1、如何将非native方法变成native方法 2、如何将native方法直接注册(不需要jni这样的头文件了) 3、Android中的类加载器相关知识 4、如何编译Android系统引用系统头文件的NDK项目 第一、Android项目package com.example.testar;
import android.net.wifi.Wif
转载
2024-04-21 13:16:45
60阅读
1三大平板系统 谁能"左右互搏"?喜欢看金庸的网友都知道,“左手画方,右手画圆”的左右互搏术是武学至高境界,只有少数武林奇才能掌握这门“多任务功夫”,同时打出两套拳法。其实,移动领域与其类似,“多任务模式”也是考察平板操作系统优劣的重要标准。一款多任务处理得当的平板系统,会赢得更多用户的青睐。下面,笔者将对比iOS、Android和Windows RT三款平板系统的多任务模式,看看这三大高手在多任
大家好,我是一航!如果你是一名Java后端开发工程师,像Swagger、Postman、RAP这些工具,应该再熟悉不过了吧!为我们的接口开发工作带来了很多的便捷,不过因为这些都是独立的框架,之间并不存在互通性,因此在多个框架间协调的时候,不可避免的会带来一些重复性的工作;今天来介绍一款强大的国产工具:ApiPost,将Swagger 、 Postman 、 RAP 、 JMeter 的功能完美的
转载
2024-06-14 10:50:30
258阅读
文章目录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阅读
最近一个多月在准备某软件设计比赛的作品,因为自己对Android平台的喜欢,项目定在Android上的应用,此文仅作为一个多月来对学习Android的一点总结和反思。
想必学过JAVA的人一定接触过“反射”(Reflection)这个名词,简单的来说,反射机制就是允许编程人员在程序运行时来改变程序的结构或者变量的类型。通过这个特性,我们可以在运行时得知某个类的所有成员,包括其属
转载
2023-01-02 22:19:53
83阅读
目录概述简单示例ELF文件格式初探装载、动态链接与重定位PLT与GOT如何定位基址?如何修改呢?解析基址和偏移思考和小结概述我们日常开发中编写的C/C++代码经过NDK进行编译和链接之后,生成的动态链接库或可执行文件都是ELF格式的,它也是Linux的主要可执行文件格式。我们今天就要借助一个示例来理解一下android平台下native层hook的操作和原理,不过在这之前,我们还是要先了解一下EL
转载
2024-10-06 13:32:56
103阅读
android有些东西需要收集下应用app的运行情况,比如网络请求等;这些工作在底层执行比较好,这样java层不需要动;根据这些需要收集了下当前网络上已有的方法: 1.android hook 框架 ADBI ,需要ptrace ,root权限执行; 2.android hook 框架 libinject2 ,需要ptrace ,root权限执行; 3.Android dalvik挂钩-
转载
2023-10-31 19:47:37
166阅读
文章目录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
相对于VM,docker在其轻量、配置复杂度以及资源利用率方面有着明显的优势。 随着docker技术的不断成熟,越来越多的企业开始考虑通过docker来改进自己的IT系统。本文列举一些docker的实际应用场景,以期能够起到抛砖引玉的作用, 来帮助大家更加方便的使用docker。应用打包制作过RPM、GEM等软件包的同学可能很清楚,每一个软件包依赖于哪个库的哪个版本, 往往需要明确的写在依赖列表里
转载
2023-08-09 12:43:26
66阅读
在Android原生应用开发中,启动一个应用非常容易:Intent __intent = new Intent(this, YourAppActivity.class);startActivity(__intent); 但在ANE插件开发中,要启动AIR开发的Android应用,就不那么容易了。
转载
2013-09-12 14:49:00
112阅读
2评论