Android上的热修复框架 AndFix 大家都很熟悉了,它的原理实际上很简单:  方法替换——Java层的每一个方法在虚拟机实现里面都对应着一个ArtMethod的结构体,只要把原方法的结构体内容替换成新的结构体的内容,在调用原方法的时候,真正执行的指令会是新方法的指令;这样就能实现热修复,详细代码见 AndFix。需要了解Android 虚拟机的方法调用过程才能彻底理解。众所周
转载 2023-05-22 14:00:34
133阅读
# Android Hook 名 在 Android 开发中,我们经常需要获取应用的名信息,例如用于区分不同应用、判断应用是否安装等等。而在一些特殊的场景下,我们可能需要修改或 Hook 应用的名,以达到某种目的。本文将介绍如何在 Android 应用中获取和修改名,并提供相关代码示例。 ## 获取名 要获取当前应用的名,我们可以使用 `Context` 类提供的 `getPac
原创 2023-07-22 12:32:36
1256阅读
# 如何实现iOS Hook 作为一名经验丰富的开发者,我将教会你如何实现iOS Hook。首先,让我们来看一下整个过程的步骤: | 步骤 | 描述 | | ---- | ---- | | 1 | 准备越狱设备 | | 2 | 安装Theos | | 3 | 编写Tweak代码 | | 4 | 编译Tweak | | 5 | 安装Tweak | | 6 | 使用抓包工具抓取数据 |
原创 2024-06-06 03:42:53
257阅读
React Hooks 中的闭问题React 自从引入 hooks,虽然解决了类组件的一些弊端,但是也引入了一些问题,比如闭问题。闭问题先看一个例子import React, { useState, useEffect } from "react"; export default () => { const [count, setCount] = useState(0);
oooo oooo`888 `888oooo ooo 888 .oo. .ooooo. .ooooo. 888 oooo`88b..8P' 888P"Y88b d88' `88b d88' `88b 888 .8P'Y888' 888 888 888 888 888 888 888888..o8"'88b 888 888 888 888 888 888 888 `88b.o88' 888o o88
Instagram 可以通过JADX搜索 "ig_android_whitehat_options_universe" 定位强制开启`白帽模式`抓。  利用Hook技术实现Instagram抓前言听别人说Instagram没法抓,于是这篇文章诞生了。Instagram的防护做的很好,自己实现了一层SSL,直接过掉了r0capture等一些常见的工具,既
转载 2024-04-19 20:11:53
300阅读
APP抓比较繁琐,尤其是对方优先走socket,发TCP,而不是走应用层发http/https协议。这种抓更烦躁,绝大部分利用中间人攻击原理这种代理抓软件都抓不到tcp请求,代理抓软件大都只能抓应用层协议。今天写篇搞定发TCP的APP和实现Hook抓取的文章。抓TCP常用的工具是wireshark和tcpdump。tcpdump可以运行在手机上抓,但没有界面,wire
近期一直在学习类实现之类的问题,今天正好有机会和大家共享一下.这里说的就是Java里的钩子用法,Apache Mina2.x就是这么用的首先是抽象类package com.jadyer.hook; public abstract class IoSession { public void write(Object message){ System.out.println(message);
转载 2023-05-31 17:43:49
85阅读
中,已经分析了dalvik模式下 ddi 框架Hook java方法的原理和流程,这里来学习一下ddi框架代码中涉及到的 dex文件的注入和调用。将一个Android的so库文件跨进程注入到另一个进程中,在so库文件的实现里,我们可以做很多的事情,例如:inline Hookjava方法的Hook,dex文件的注入和调用,ndk的jni函数的Hook等等。1.ddi框架在进行dex文件的注入和调
转载 2024-07-16 11:08:34
31阅读
FridaHookAndroid本文旨在覆盖使用 Frida 对 Android App 进行 hook 的绝大多数场景。文章提到的所有代码以及被测 App,详见:https://github.com/liyansong2018/FridaHookAndroid(更多更新也见此文档)Frida-Android 进阶frida 版本:12.11.18系统:Ubuntu 20.04 LTS被测系统:某
转载 2023-09-30 14:17:37
23阅读
一、什么是Hook   Hook翻译成中文就是勾子的意思,在java中它表示在事件到达终点前进行拦截或监控的一种行为。 二、Hook的实现实现hook我们必须要知道java的反射和动态代理。 1、反射   反射是java的查看、检测、修改自身的一种行为。   在编译阶段,编译器将我们编写的java文件编译成.class
一什么是ShutdownHookRuntimejava中相关方法源码ApplicationShutdownHooksjava二java进程平滑退出的意义三java进程平滑退出的思路四如何屏敝第三方组件的ShutdownHook五实现服务的平滑退出1 Http请求2 dubbo请求3 RabbitMQ消费4 Quartz任务六为何重启时有时会有ClassNotFoundException 一、什么
转载 2024-04-10 10:44:52
66阅读
  adbi的java hook实现代码ddi不在之前下载的文件中,下载地址:https://github.com/crmulliner/ddi,具体的编译看readme里面很详细的介绍了。注意ddi代码不能单独使用要跟之前的adbi相结合,因为adbi提供了注入so。本文不对代码进行详细的剖析(你可以看参考资料的文章),分析下2个问题:java如何hook;如何执行自己的java函数。java
转载 2023-06-06 19:44:41
239阅读
Cydia Substrate是一个代码修改平台.它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的.而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具.官网地址:http://www.cydiasubstrate.com/官方教程:http://www.cydiasubstrat
转载 2023-10-13 11:30:58
141阅读
1.首先创建一个DLL项目,用以生成自定义的DLL文件,在DLL文件中对外有两个接口,安装钩子的函数SetHook和卸载钩子函数UnSetHook函数,对于   这些函数由于需要导出,所以在工程项目的.h文件中需要声明这些函数需要导出。//MouseKeyboardHook.h#ifdef MOUSEKEYBOARDHOOK_EXPORTS #define MOUSEKEYBO
转载 2023-07-13 22:26:28
111阅读
Js逆向教程19-Hook基础一、jshookHook就是在这些流程任意环节插入自己的代码,让浏览器先执行自己的代码 然后再执行原本网站的hook在以下流程中可以做的事情:1.1 html流程联机服务器:获取ip地址,ws获取参数拿回资源:动态修改html代码渲染或者解析资源:可以判定渲染的是什么1.2将js代码的执行流程:hook在以下流程中可以做的事情初始化:修改window常见的浏览器环境变
转载 2023-08-02 11:31:50
200阅读
Hook Function... 貌似Hacker/Cracker做的事情,不过我既不是Hacker,也不是Cracker,而是Game Programer...Game Programer,不仅要通晓图形图像,数学物理,貌似十八般武器,左道旁门都要耍一耍。今天,我也根据自己的实验过程,写一些Hook 方法,请各位大牛多批评指正。。。本次Hook Function 的研究动因来自于对Memroy
首先,Hook是什么?HookHook 是 React 团队在 React 16.8 版本中提出的新特性,在遵循函数式组件的前提下,为已知的 React 概念提供了更直接的 API:props,state,context,refs 以及声明周期,目的在于解决常年以来在 class 组件中存在的各种问题,实现更高效的编写 react 组件。Hook的使用规则是什么?Hook 就是 Javascrip
在Microstation API文档中经常看到Hooks Function,对于这个函数的中文翻译不甚了解,经查阅相关文档,发现他的中文名称是钩子函数。Hooks function(钩子函数):是Windows消息处理机制的一部分,通过设置"钩子",应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。W
一、什么是HOOK(钩子)  API Windows消息传递机制,当在应用程序进行相关操作,例如点击鼠标、按下键盘,操作窗口等,操作系统能够感知这一事件,接着把此消息放到系统消息队列,然后到应用程序的消息序列中,应用程序通过Getmessage函数取出消息,然后调用DispatchMessage函数将这条消息调度给操作系统,操作系统会调用在设计窗口类时指定的应用程序窗口对这一消
转载 2023-06-09 21:56:12
1164阅读
  • 1
  • 2
  • 3
  • 4
  • 5