本部分参考地址1,frida envenv.js2,IDA 判断 Thumb 指令集和 Arm 指令集IDA - Options - General - number of opcode bytes - 设置为 4此时查看 IDA VIew 中 opcode 的长度, 如果出现 2 个字节和 4 个字节的, 说明为 thumb 指令集如果都是 4 个字节的, 说明是 arm 指令集;在 Thumb
代码实现/**
* 自己创造一个LoadedApk.ClassLoader 添加到 mPackages,此LoadedApk 专门用来加载插件里面的 class
*/
private void customLoadedApkAction() throws Exception {
File file = new File(Environment.getEx
原谅我见识短浅,Android竟然还能这么玩!!什么是Hook首先我们来了解一下,什么是Hook?Hook有什么用?我们都知道有一种设计模式 - 模板方法模式,原理是父类定义多个方法,但是不实现任何内容,然后将这些方法组合起来,来实现某种功能。 其中的没有实现的方法我们就称之为“Hook”钩子方法,主要目的是留给子类定制自己的东西。而这里的Hook有点不一样,运用反射技术和代理模式,以实现改变A
转载
2023-08-05 13:05:43
110阅读
需求:给一个目标apk,要求hook它的native层代码,但是不能修改它原本的so文件。实现方法:通过/proc/pid/maps查看目标so文件加载到内存的基址,然后利用ida查看目标函数在so文件的内存偏移,两个数字相加得到目标函数的内存地址,然后利用Android-Inline-Hook框架编写c文件,编译生成so文件,再修改apk中的smali文件,加载我们的so文件,从而达到hook的
转载
2023-11-05 20:42:15
220阅读
一。写在最前 本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址: http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx 二。了解一下钩子 从字面上理解,钩子就是想钩住些东西,在程序里可以利用钩子提前处理些Windows消息。 例子:有一个Form,
转载
2024-08-26 20:02:34
101阅读
一、什么是HOOK(钩子) Windows系统,建立在事件驱动机制上,就是整个系统都是通过消息传递实现的。hook(钩子)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并进行处理。 钩子的种类很多,每种钩子可以截获相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应
转载
2024-04-27 19:12:34
180阅读
function hook_sha1(){ var addr = Module.findBaseAddress("libmfw.so"); // console.log(addr) var func_addr = addr.add(0x3E1D0); // console.log(func_addr
参考 ###so源码 #include <string.h> #include <jni.h> #include"test.h" jstring JNICALL Java_com_example_mi_demoso_JNITest_getStringFromJNI(JNIEnv* env, jobj ...
转载
2021-08-30 10:24:00
1601阅读
2评论
Java hook so文件是在Android应用开发和系统底层开发中常见的一种技术,主要用于对原生库(.so文件)的动态链接和函数调用进行拦截与修改,从而实现一些特定的功能需求。然而,这种技术在实际应用中可能会引发一些问题,影响系统性能和稳定性。以下是对“Java hook so文件”问题的整理与分析。
## 背景定位
在移动应用中,Java hook so文件技术常被用来实现功能扩展和增强
1、Hook基本概述Hook翻译过来是钩子的意思,我们都知道无论是手机还是电脑运行的时候都依赖系统各种各样的API,当某些API不能满足我们的要求时,我们就得去修改某些api,使之能满足我们的要求。这样api hook就自然而然的出现了。我们可以通过api hook,改变一个系统api的原有功能。基本的方法就是通过hook“接触”到需要修改的api函数入口点,改变它的地址指向新的自定义的函数。当然
转载
2023-09-19 07:24:27
181阅读
黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第八章 Windows常见特洛伊木马任务(1)有趣的键盘记录器 文章目录写在前面构建keylogger.py脚本构建击键记录器小试牛刀安装pyWinhook处理cpyHook与_cpyHook缺少new模块运行结果展示可执行代码 写在前面键盘记录(Keylogging),即使用隐蔽的程序记录连续的击键,
转载
2024-08-23 09:38:36
32阅读
HOOK实现游戏无敌-直接修改客户端-2-使用VS来处理大概流程1首先找到游戏进程,打开进程2申请一段内存空间来保存我们的硬编码(virtualAllocEx)3找到攻击函数,修改函数的硬编码来跳转4在开辟的内存空间中,硬编码实现汇编代码来实现无敌打开游戏进程1直接通过进程ID2通过窗口名来找到进程1 通过窗口名来找到游戏进程先找到游戏窗口对应的句柄,然后通过句柄来得到进程的ID,然后来打开进程得
语言基础快速预览-Lua数据类型变量循环流程控制函数运算符字符串数组迭代器tableLua模块与包Lua元表协同程序文件I/O错误处理面向对象初阶话题进阶话题高阶话题 供大家快速熟悉各种语言基础语法,快速上手。叙述尽量简洁。 对以下资源进行整理排版,在此表示感谢数据类型--[[
nil、boolean、number、string、userdata、function、thread和table。
我们在实际的业务场景下,遇到一个需求:对于一些加载比较慢的资源,组件最初展示标准的Loading效果,但在一定时间(比如2秒)后,变为“资源较大,正在积极加载,请稍候”这样的友好提示,资源加载完毕后再展示具体内容。对于一个展示的组件来说,我们希望的逻辑就是这样的:const PureDisplay = ({isLoading, isDelayed, data}) => {
if (i
转载
2024-09-28 22:49:01
85阅读
SetWindowHookEx不能HOOK命令行(cmd.exe) Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061203132155126.html
最近写了个API HOOK的小软件
利用SetWindowHookEx &n
全局符号表(GOT表)hook实际是通过解析SO文件,将待hook函数在got表的地址替换为自己函数的入口地址,这样目标进程每次调用待hook函数时,实际上是执行了我们自己的函数。 GOT表其实包含了导入表和导出表,导出表指将当前动态库的一些函数符号保留,供外部调用,导入表中的函数实际是在该动态库中调用外部的导出函数。 这里有几个关键点要说明一下: (1) so文件的绝对路径和加载到内存
转载
2023-08-30 20:08:09
316阅读
随着Android设备上的隐私安全问题越来越被公众重视,恶意软件对用户隐私,尤其是对电话、短信等私密信息的威胁日益突出,各大主流安全软件均推出了自己的隐私行为监控功能,在root情况下能有效防止恶意软件对用户隐私的窃取,那么这背后的技术原理是什么?我带着疑问开始一步步探索,如果要拦截恶意软件对电话、短信等API的调用,在Java或者Dalvik层面是不好进行的,因为这些层面都没有提供Hook的
转载
2024-01-28 00:38:58
74阅读
在有些情况下,可能遇到需要改变目标进程的执行流程的问题,替换原函数转而指向我们自己的函数,而Hook就是指的改变待Hook函数的地址,替换地址而达到更换原函数的功能。本文主要介绍Android上对native层中的so库Hook的方法,核心技术其实是对GOT表的Hook,获取目标函数地址需要对so文件进行解析,而so文件实际上是ELF文件,所以在此之前需要对ELF文件格式有一个很好的了解。关键解析
转载
2023-07-24 22:28:26
118阅读
文章目录前言Hook So有导出so层hook无导出so层hookSo层实战hook脚本的编写hook脚本的效果总结 前言我在前面的一篇博客 CTF逆向-EasySo世界SO层反汇编 中记录了对一道 CTF 逆向题目的 Android APP 的 So 层函数进行基础的逆向分析的过程,通过 IDA 反汇编查看 So 层代码并分析获得了 Flag 值。生命在于折腾~本文将记录尝试通过 Frida
转载
2023-07-06 15:58:26
170阅读
理论: WINDOWS的钩子函数可以认为是WINDOWS的主要特性之一。利用它们,您可以捕捉您自己进程或其它进程发生的事件。通过“钩挂”,您可以给WINDOWS一个处理或过滤事件的回调函数,该函数也叫做“钩子函数”,当每次发生您感兴趣的事件时,WINDOWS都将调用该函数。一共有两种类型的钩子:局部的和远程的。 局部钩子仅钩挂您
转载
2024-08-21 21:38:17
107阅读