And64InlineHook

轻量级ARM64内联HOOK框架
授权协议 MIT
开发语言 C/C++
所属分类 手机/移动开发、 手机开发工具
软件类型 开源软件
地区 国产
投 递 者 董良策
操作系统 Android
开源组织
适用人群 未知
 软件概览

 And64InlineHook 是Android平台上一个轻量级的、针对64位ARM架构的内联HOOK开源框架, 使用C/C++编写,结构简单易于使用。 

  •         Android阵营新出机型的cpu基本都是64位了,虽然可以向下兼容armeabi-v7a,但是使用32位的so毕竟不能充分发挥64位cpu的潜力,所以以后arm64-v8a用的会越来越多。但是整个安卓生态圈似乎还没有开源发布的ARM64内联HOOK方案,所以自己动手写了个,姑且取名And64InlineHook吧,需要注意的是仍然是Alpha版。         关于Inline

  • 提要         inline hook最终目的其实就是修改了机器码,改变原有的执行流程。因此最终目的即使得cpu的eip变化。 热修补         编译型的语言,在编译时候都有一个选项叫做热修补。热修补的最终实际实现其实是在每个函数头添加一个一段占位的汇编,且该汇编代码不会影响cpu的执行状态。         说到这里,我们第一反应就是nop。没错,nop就是其中之一。不过一般的程序热

  • author: jonathan 本文档的CopyRight归jonathan所有,可自由转载,转载时请保持文档的完整性。 /*----------------------------------------------------------------------------------------------------------------------------*/ Hook多年不搞了

  • Suterusu Rootkit: Inline Kernel Function Hooking on x86 and ARM Posted on January 7, 2013 Table of Contents Introduction Function Hooking in Suterusu Function Hooking on x86 Write Protection Function

  • 需要使用LDE反汇编引擎 #include<ntddk.h> #include"LDE.h" #define kmalloc(_s) ExAllocatePoolWithTag(NonPagedPool, _s, 'SYSW') #define kfree(_p) ExFreePool(_p) KIRQL WPOFFx64() { KIRQL irql = KeRaiseIrqlToDpcLe

  • 原理 内联钩子的原理在R3和R0下是相同的,就是不改变SSDT表项,而是改变函数内部前几条指令。 内联钩子的典型伪函数为: 恢复原指令 执行目标操作,或改写参数 执行原函数 返回时重新挂钩 demo #include "stdafx.h" #ifdef __cplusplus extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverOb

  • 前言 SSDT Hook后, 如果要跳过函数开始的一些opcode, 就只能跳到没有call语句之前的代码. 因为call有重定位问题,即使opcode一样,call的实际地址也是不同的. 试验记录 #include <Ntddk.h> #include <stdlib.h> #include <stdio.h> typedef char CHAR; typedef unsigned char

  • #include"ntddk.h" #pragma pack(1) //写这个内存以一字节对齐 如果不写是以4字节的对齐的 typedef struct ServiceDescriptorEntry {//这个结构就是为了管理这个数组而来的 内核api所在的数组 才有这个结构的 这个是ssdt unsigned int *ServiceTableBase;//就是Servic

  • 对于怎么挂钩系统API的实现,网上对此的解释有很多也很详细。这边暂不进行长篇大论,就简单的说明下原理:修改系统API的前几个字节,并写入 JMP 0x15a123 汇编指令,实现调用系统API自动跳转到我们的API的过程。 对于API HOOK的实现,现成的有MHOOK、DETOUR等类似的框架实现。既然我们要清晰的认识具体怎么实现,那么我们就自己编写实现方式,不采用第三方库。其实也很简单,没啥特

  • 留个名,省的丢了。 用法: GetLogicalDrivesOld = (ptrGetLogicalDrives)hook(GetLogicalDrives, GetLogicalDrivesNew); FindFirstVolumeWOld = (ptrFindFirstVolumeW)hook(FindFirstVolumeW, FindFirstVolumeWNew); FindNex

 相关资料
  • 本文向大家介绍轻量级javascript 框架Backbone使用指南,包括了轻量级javascript 框架Backbone使用指南的使用技巧和注意事项,需要的朋友参考一下 Backbone 是一款基于模型-视图-控制器 MVC 模式的轻量级javascript 框架 ,可以用来帮助开发人员创建单页Web应用。 借助Backbone 我们可以使用REST的方式来最小化客户端和服务器间的数据传输,

  • 本文向大家介绍前端轻量级MVC框架CanJS详解,包括了前端轻量级MVC框架CanJS详解的使用技巧和注意事项,需要的朋友参考一下 选择正确的库 创建一个JS APP没有好的工具是很有难度的,jQuery只是操作DOM的库,没有提供任何创建APP的基础,这就是为什么我们要一个类似CanJS的专门的库。 CanJS 是一个轻量级的MVC库,提供你创建一个JS APP所需的工具。 CanJS 是一个轻

  • 问题内容: 是否有一个提供发布/订阅模式的Java轻量级框架? 一些理想的功能 支持泛型 向发布者注册多个订阅者 API主要是接口和一些有用的实现 完全不需要内存,持久性和事务保证。 我了解JMS,但这对我来说太过分了。发布/订阅的数据是文件系统扫描的结果,扫描结果被馈送到另一个组件进行处理,然后在将其馈给另一个组件之前进行处理,依此类推。 编辑:所有在同一过程中。bean的PropertyCha

  • 本文向大家介绍浅谈Android轻量级的数据缓存框架RxCache,包括了浅谈Android轻量级的数据缓存框架RxCache的使用技巧和注意事项,需要的朋友参考一下 请求网络数据是在安卓开发中使用最频繁的一个功能,网络请求的体验决定了用户对整个APP的感觉,因此合理地使用缓存对网络请求的数据进行处理极为重要。合理的进行缓存和网络请求,可以为APP带来更优秀的体验。图片的缓存有Picasso、Gl

  • 问题内容: 我一直在使用jQuery在基于Web的应用程序中完成整个AJAX魔术。但是,我来到了一个决定,我并不需要所有这些神奇功能jQuery有,除了它的AJAX功能(例如,,,和)。 您能推荐轻量级的跨浏览器AJAX库/框架(最大10 kb)吗? 问题答案: 您可以通过删除不需要的模块来缩小jQuery的大小,只需修改Makefile文件即可。

  • 本文向大家介绍详解Spring Batch 轻量级批处理框架实践,包括了详解Spring Batch 轻量级批处理框架实践的使用技巧和注意事项,需要的朋友参考一下 实践内容 从 MariaDB 一张表内读 10 万条记录,经处理后写到 MongoDB 。 具体实现 1、新建 Spring Boot 应用,依赖如下: 2、创建一张表,并生成 10 万条数据 3、创建 Person 类 4、创建一个中