【原创】Android5.1 Art Hook 技术分享 [问题点数:20分,无满意结帖,结帖人orlando19860122]

Bbs1
本版专家分:0
结帖率 100%
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
ART深度探索开篇:从Method Hook谈起
Android上的热修复框架 AndFix 想必已经是耳熟能详,它的原理实际上很简单:方法替换——Java层的每一个方法在虚拟机实现里面都对应着一个ArtMethod的结构体,只要把原方法的结构体内容替换成新的结构体的内容,在调用原方法的时候,真正执行的指令会是新方法的指令;这样就能实现热修复,详细代码见 AndFix。 为什么可以这么做呢?那得从 Android 虚拟机的方法调用过程说起。
原创】Android5.1 Art Hook 技术分享(二)
前文写的太多,超过字数限制了。。。 0x03 如何处理返回值 我想到的办法就是,为每一个被<em>hook</em>的函数都分配一个与其返回值对应的<em>hook</em>处理函数,由于返回值类型是确定的(8种基本类型加Object),所有我枚举的构造了9种不同返回值的<em>hook</em>处理函数(直接java编写)。     private static int onHookInt(Object <em>art</em>method, Obj
Android Art Hook 技术方案
Android Art Hook <em>技术</em>方案 by 低端码农 at 2015.4.13 www.im-boy.net 0x1 开始Anddroid上的ART从5.0之后变成默认的选择,可见ART的重要性,目前关于Dalvik Hook方面研究的文章很多,但我在网上却找不到关于ART Hook相关的文章,甚至连鼎鼎大名的XPosed和Cydia Substrate到目前为止也不支持ART的Hook。
Android5.1 Art Hook 技术分享
转自:http://bbs.pediy.com/thread-204183.htm Hi,大家好,很多次的在各种<em>技术</em>论坛上看到大牛的<em>分享</em>,学到了很多。本着共建社区,共享知识的目的,在这里我和大家<em>分享</em>一下我最近研究到的关于Android5.1的ART HOOK方案。还是demo阶段,请大家多多指正。可以加我QQ 313199058一起探讨。 废话不说,切入正题。 之前看过低端码农关于A
通过android代码获取android系统的imei、手机型号、手机品牌、android系统的版本号、sdk版本号等信息
android中获取imei号android获取手机型号代码android获取手机品牌代码android获取系统版本号代码android获取sdk版本号代码注意 1android中获取imei号 在android系统中获取imei号首先得到当前应用的TelephonyManager对象,通过TelephonyManager对象的getDeviceId()方法可以得到android手
Android5.1 Art Hook
Android5.1 Art Hook 支持4.0到5.1的dvm和<em>art</em> <em>hook</em>。美中不足是编写<em>hook</em>函数比较麻烦
实现Android ARM64平台下Inline Hook框架
Android阵营新出机型的cpu基本都是64位了,虽然可以向下兼容armeabi-v7a,但是使用32位的so毕竟不能充分发挥64位cpu的潜力,所以以后arm64-v8a用的会越来越多。但是整个安卓生态圈似乎还没有开源发布的ARM64内联HOOK方案,所以自己动手写了个,姑且取名And64InlineHook吧,需要注意的是仍然是Alpha版。         关于Inline Hook的背
兼容Android 32位64位的inject和hook
完整代码见github 随手给个star和fork呗 注入系列笔记: ELF格式分析 so文件加载流程 Inject和Hook 使用 准备: - 一台root的android设备 - ndk编译环境 分别开2个终端来查看日志: - adb logcat | grep INJECT - adb logcat | grep ELFHooker 如果其他日志太多了可以用 a
Frida官方手册 - 在Android上使用Frida
在Android上使用Frida 在这篇教程里面,我们来演示一下如何在Android设备上进行函数跟踪。 设置你的Android设备 在我们开始之前,请确保你的Android设备已经完成root操作。我们大部分的实验操作都是在Android4.4版本上进行的,但是Frida本身是支持从4.2到6.0的版本的,但是目前来说对Art的支持还是有限的,所以我们建议最后还是用使用Dalvik虚拟机的系统设备
Android5.1 Framework分析----如何在SystemServer中添加系统服务
本文以mtk <em>android5.1</em>为研究对象。 Android的系统服务都是托管给ServiceManager管理的,我们可以自定义一个自己的服务,并将其添加到ServiceManager中,本文以添加一个Tts语音服务为例,供应用层调用。 1、首先,在frameworks/base/core/java/android/app中新建一个aidl文件 ITtsManager.aidl,内
Android Hook技术防范漫谈
背景 当下,数据就像水、电、空气一样无处不在,说它是“21世纪的生产资料”一点都不夸张,由此带来的是,各行业对于数据的争夺热火朝天。随着互联网和数据的思维深入人心,一些灰色产业悄然兴起,数据贩子、爬虫、外挂软件等等也接踵而来,互联网行业中各公司竞争对手之间不仅业务竞争十分激烈,黑科技的比拼也越发重要。随着移动互联网的兴起,爬虫和外挂也从单一的网页转向了App,其中利用Android...
一个基于xposed和inline hook的一代壳脱壳工具
http://blog.csdn.net/zhangmiaoping23/<em>art</em>icle/details/74164657 原理 原理就是去<em>hook</em> lib<em>art</em>.so里面的<em>art</em>::DexFile::OpenMemory,然后再把内存中的dex写到文件中去。就是这么简单,最主要的就是<em>hook</em>的时机,大部分的壳都是在attachBaseContext这个方法里面去完成代码的解密。所以呢,我们就去<em>hook</em> Application的attach方法,在这个方法执行之前,将我们的动态库加载起来,动态库里面实现的就是对<em>art</em>::DexFile::OpenMemory方法的劫持。这样的话在他解密代码前<em>art</em>::DexFile::OpenMemory就已经被我们给控制了,所以就可以为所欲为了。这里要感谢ele7enxxh提供的Android-Inline-Hook来让我可以对native层的<em>hook</em>。
放置江湖技术支持
===联系我们=== 如果您喜欢我们的游戏,欢迎随时给我们评价或留言 <em>技术</em>支持邮箱 :  2568233235@qq.com ===游戏说明=== 【游戏简介】 《放置传奇》是一款以Q版英雄乱斗为背景的横版动作卡牌+挂机放置懒人游戏,自动打怪升级。解放双手,轻松游戏,即使退出游戏也不!会!停! 完美的装备养成系统,超炫的翅膀,超酷的坐骑,超萌的宠物,以及称号系统。游戏还拥有非常
ART模式下基于Xposed Hook开发脱壳工具
本文博客地址:http://blog.csdn.net/qq1084283172/<em>art</em>icle/details/78092365Dalvik模式下的Android加固<em>技术</em>已经很成熟了,Dalvik虚拟机模式下的Android加固<em>技术</em>也在不断的发展和加强,鉴于Art虚拟机比Dalvik虚拟机的设计更复杂,Art虚拟机模式下兼容性更严格,一些Dalvik虚拟机模式下的Android加固<em>技术</em>并不能马上...
Android中通过进程注入技术修改系统返回的Mac地址
致谢感谢看雪论坛中的这位大神,<em>分享</em>了这个<em>技术</em>:http://bbs.pediy.com/showthread.php?t=186054,从这篇文章中学习到了很多内容,如果没有这篇好文章,我在研究的过程中会遇到很多困难,说不定我就放弃了~~在此感谢他。前言之前的几篇文章都是在介绍了OC的相关知识,之前的半个月也都是在搞IOS的相关东西,白天上班做Android工作,晚上回家还有弄IOS,感觉真的很伤
Android安全:Hook技术
原址一、Hook<em>技术</em> 1.Hook英文翻译为“钩子”,而钩子就是在事件传送到终点前截获并监控事件的传输,像个钩子钩上事件一样,并且能够在钩上事件时,处理一些自己特定的事件; 2.Hook使它能够将自己的代码“融入”被勾住(Hook)的进程中,成为目标进程的一部分; 3.在Andorid沙箱机制下,Hook是我们能通过一个程序改变其他程序某些行为得以实现; 二、Hook分类 1.根据Android开...
Android 如何防止.so动态注入
-
Android Hook技术实践
不需要在Manifest中注册Activity,就可以启动界面,推荐大家学习这种处理问题的思路。
Android ART Hook 实现 - SandHook
简介 Github: https://github.com/ganyao114/SandHook 关于 Hook,一直是比较小众的需求。本人公司有在做 Android Sandbox(类似 VA),算是比较依赖 Hook 的产品,好在 Android Framework 大量使用了代理模式。所以也不用费劲在VM层作文章了,直接用动态代理即可。 然而,VM 层的 Java Hook 还是有些需求的,...
android ART hook
原文地址:http://www.cnblogs.com/lanrenxinxin/p/5207174.html 0x00 前言 之前一直都是在Dalvik 虚拟机上在折腾,从Android 4.4开始开始引入ART,到5.0已经成为默认选择。而且最近看到阿里开源的 Dexposed 框架,已经提供了对于android <em>art</em> 模式下的 <em>hook</em> 支持,所以对照着android <em>art</em>
安卓 dex 通用脱壳技术研究(一)
http://my.oschina.net/cve2015/blog/508604 摘要 本文剖析安卓 Dalvik 解释器 Portable 的原理与实现,并通过修改 Dalvik 虚拟机实现 dex 文件的通用脱壳方案;本方法同样适应于 ART 虚拟机; 目录[-] 0x01 背景介绍 0x02 Dalvik 解释器原理分析 0
Android6.0中ART执行类方法的过程分析一
参考:http://blog.csdn.net/luoshengyang/<em>art</em>icle/details/40289405 罗升阳老师的 Android运行时ART执行类方法的过程分析 一文所写,主要将代码实现部分做了改动。OatFile* OatFile::Open函数用来加载oat文件,原本的后端是portable和quick,而现在的是quick和optimizing,现在的这两个后端在ope
DexHunter在ART虚拟机模式下的脱壳原理分析
本文博客地址: http://blog.csdn.net/qq1084283172/<em>art</em>icle/details/78494620 DexHunter脱壳工具在Dalvik虚拟机模式下的脱壳原理分析,在前面的博客中已经提到了,但是自我感觉分析和理解的还不够透彻,后面又对DexHunter脱壳工具的源码再阅读了几遍,总算是把DexHunter脱壳工具在Dalvik虚拟机模式下和ART虚拟
Android安全-Native Hook
原帖地址:http://www.kanxue.com/bbs/showthread.php?t=199574 转载是因为他写的调理清楚,排版清楚,最重要的是因为他简单明了的说 清楚了  Android-Native Hook 目录[-] 0x1 原理 0x2 流程 0x3 实现 0x4 关键     0x01 e
Android Native Hook工具实践
参考文章 Android Native Hook 工具实践 https://paper.seebug.org/650/ ARM64下的Android Native Hook工具实践 - Galaxy Lab http://galaxylab.org/arm64下的android-native-<em>hook</em>工具实践/ 它的这个工具实际是借鉴的诺神的inline<em>hook</em> 0x01 inline<em>hook</em>的...
Hook技术——拦截系统Intent
首先说下什么是 Hook (钩子函数): 钩子函数其实一段程序,在系统的调用中挂载到系统,在没有调用该函数之前,钩子程序先捕获该消息,这样钩子函数先得到控制权,这样钩子函数就可以加工处理该函数的执行从而改变消息的传递。 Hook<em>技术</em>实现的过程:(java层) 1) 找到Hook点 ① <em>hook</em>的过程是一个找方法的过程,我们要找到微信怎么登录的,就需要找到微信登录的方法。 ② ...
JNI完全指南(九)——反射
JNI完全指南(九)——反射标签(空格分隔): JNI完全指南版本:1 作者:陈小默 声明:禁止商业,禁止转载 发布于:作业部落、简书、[CSDN博客]上一篇:JNI完全指南(八)——NIOJNI完全指南九反射 九反射 1 将一个Method对象转换为方法ID 2 将一个Field对象转换为属性ID 3 反射得到Method对象 4 反射得到Field对象 九、反射 反射能够使开发者在仅知道名称
jni.h头文件详解(二)
GetVersion ,DefineClass , FindClass, FromReflectedMethod, FromReflectedField ,ToReflectedMethod, ToReflectedField) 函数的介绍和如何使用这些函数的样例介绍.
Art模式下基于Xposed Hook框架脱壳的代码
一份基于Art模式下Xposed Hook框架开发的脱壳工具的代码,对Android加固脱壳感兴趣的同学可以拿来学习参考一下。
Android Inline Hook原理图
Android Inline Hook原理图
虚拟机调用方法之ArtMethod
-
Android ART hook 框架 YAHFA 的 Bug 修复以及改进建议
YAHFA 目前简单找了一下 Android 上的 ART Hook Epic 和 YAHFA 较为流行,支持的版本也比较好 5.0 - 9.0,所以看了一下 YAHFA 源码并且跑了一下 demo。 Bug 使用中发现在 5.0 - 6.0 的 64 位机器上会挂掉,调试了一下发现 YAHFA 在试图获取 dexCacheResolvedMethods 列表时读到了非法地址。 因为 ArtMet...
Android Hook 机制之简单实战
简介 什么是 Hook Hook 又叫“钩子”,它可以在事件传送的过程中截获并监控事件的传输,将自身的代码与系统方法进行融入。这样当这些方法被调用时,也就可以执行我们自己的代码,这也是面向切面编程的思想(AOP)。 Hook 分类 1.根据Android开发模式,Native模式(C/C++)和Java模式(Java)区分,在Android平台上 Java层级的Hook; ...
Android平台下hook框架adbi的研究(上)
对于Android系统来说,底层本质上来说
全能Android HOOK框架 JNI NATIVE JAVA ART DALVIK
OneHook 目前比较流行的几个安卓HOOK方案,都有功能上的欠缺,有的不支持<em>art</em>模式,有的不支持jni层,有的不支持侵入HOOK。 所以OneHook诞生了! 这是一个同时支持ART和Dalvik两种模式,理论上支持安卓4.0.3以上所有版本,同时支持JAVA和NATIVE层,使用全局注入<em>技术</em>的侵入式HOOK框架。 本框架不需要额外的安装,可以静态编译到自己的APP中
利用Cydia Substrate进行Android Native HOOK
简介 Cydia Substrate是一个很强大的工具,他提供了很便利的方法帮助你去<em>hook</em> so和java中的方法。 在本例中,出于学习的目的,我使用Cydia Substrate来<em>hook</em>每个进程的dvmLoadNativeCode函数,以达到监控加载so顺序的功能。 Cydia Substrate相关链接 使用指南:http://www.cydiasu
我为Dexposed续一秒——论ART上运行时 Method AOP实现
两年前阿里开源了Dexposed 项目,它能够在Dalvik上无侵入地实现运行时方法拦截,正如其介绍「enable ‘god’ mode for single android application」所言,能在非root情况下掌控自己进程空间内的任意Java方法调用,给我们带来了很大的想象空间。比如能实现运行时AOP,在线热修复,做性能分析工具(拦截线程、IO等资源的创建和销毁)等等。然而,随
hook_导出表eat
#include &amp;lt;ntifs.h&amp;gt; #include &amp;lt;ntimage.h&amp;gt; typedef VOID(__stdcall *KEATTACHPROCESS)(IN PRKPROCESS Process); KEATTACHPROCESS OldKeAttachProcess; UCHAR *PsGetProcessImageFileName(IN PEPROCESS ...
Android运行时ART简要介绍和学习计划
Android在4.4就已推出新运行时ART,准备替代用了有些时日的Dalvik。不过当时尚属测试版,主角仍是Dalvik。 直到今年的Google I/O大会,ART才正式取代Dalvik。这个消息在科技界引起不小轰动,也吸引不少<em>技术</em>人员对它的“<em>技术</em>分析”。可惜这些“<em>技术</em>分析”不过是引用了官方的数据和图表而已。这一系列文章将对ART进行真正的<em>技术</em>分析。老规矩,分析前先进行简要介绍和制定学习计划。
Hook学习(三):寻找突破点
一、关于Context Activity.this和getApplicationContext()都能获取Context,注意这两个的实现方式是不一样,虽然都能返回Context Context对系统来说不是全局应用,每个应用都有属于自己的Context,所以要对Context发起Hook,只能在本应用有效
七、JAVA多线程笔记:Hook线程以及捕获线程执行异常(UncaughtExceptionHandler、Hook)
        本章将介绍,如何获取线程在运行时期的异常,以及如何向JAVA程序注入Hook线程。 获取线程运行时异常 在Thread类中,关于处理运行时异常的API一共有四个。 1.为某个特定线程指定UncaughtExceptionHandler public void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandl...
Android逆向之旅---Native层的Hook神器Cydia Substrate使用详解
一、前言在之前已经介绍过了Android中一款<em>hook</em>神器Xposed,那个框架使用非常简单,方法也就那几个,其实最主要的是我们如何找到一个想要<em>hook</em>的应用的那个突破点。需要逆向分析app即可。不了解Xposed框架的同学可以查看:Android中<em>hook</em>神器Xposed使用详解;关于<em>hook</em>使用以及原理不多解释了。今天我们再来看另外一个<em>hook</em>神器Cydia Substrate,关于这个神器网...
android native hook 源码 及 解析
1、<em>hook</em>的原理,大家可以自行查找。这里,只给出一个实践的例子。 2、这里所写的<em>hook</em>,是导入表<em>hook</em>。什么叫做导入表 <em>hook</em>呢:对于一个elf可执行文件,或者动态链接库文件(so),调用其他动态链接库中的函数的时候,实际上,就去一个表中去查找一个值,这个值就是该函数在线性地址中的偏移值。我们所做的,就是修改这个值。 举个例子来说,就是你在libjavacore.so中想要<em>hook</em> r
android native hook方法
android  native <em>hook</em>方法 主要分为: GOT HOOK 即import table <em>hook</em>(导入表<em>hook</em>) inline <em>hook</em>(内联<em>hook</em>) export table <em>hook</em> (导出表<em>hook</em>)   一、导入表(GOT HOOK) 熟悉ELF结构的读者都知道,SO引用外部函数的时候,在编译时会将外部函数的地址以Stub的形式存放在.GOT 表中,加载
Anroid HOOK Method(Native 层)
转载请注明出处http://blog.csdn.net/lingfong_cool/<em>art</em>icle/details/8109290。    android安全可以从三个层面考虑,一次是java虚拟机层,nativec层,还有linux kernel层,本次<em>hook</em> api是属于nativec层的。 <em>hook</em> api之后就可以使得程序对原有系统函数的调用改为对我们自己编写的函数的调用,这
Android平台dalvik模式下java Hook框架ddi的分析(1)
一、前 言在前面的博客中已经学习了作者crmulliner编写的,针对Android系统的跨进程 inline Hook的实现即Android native Hook框架adbi的实现。Android Hook框架adbi主要是针对的Android的native函数进行inline Hook操作,那么如果需要对Android系统中Java编写的函数进行Hook,又该怎么操作呢?作者crmulline
几种Dalvik Hook方案研究
Dalvik Hook的基本原理如上一篇文章所述,每个java方法在虚拟机内部都对应一个Method结构体(可以将JNI的jmethodID强转为指向此Method结构体首地址的指针得到),Dalvik Hook通常通过修改Method结构体内容实现.常见的两种<em>hook</em>思路:
无人驾驶技术系列(干货)
作者简介: 吴双,原百度研究院硅谷人工智能实验室高级研究员,百度美国研发中心高级架构师。美国南加州大学物理博士,加州大学洛杉矶分校博士后,研究方向包括计算机和生物视觉,互联网广告算法,互联网文本和视频的推荐系统,语音识别和自然语言处理,曾在NIPS等国际会议中发表文章。 刘少山,PerceptIn联合创始人。加州大学欧文分校计算机博士,研究方向包括智能感知计算、系统软件、体系结构与异构计算。现在P
安卓黑科技之HOOK详解
此文带大家进入到安卓另一个世界 互联网攻防大战 Xposed框架 : 它能够让Android设备在没有修改源码的情况下修改系统中的API运行结果 可实现对java层任意HOOK   比如 修改 IMEI IMSI ICCID 这些全球唯一的身份标志 HOOK 三方应用 微信 QQ 实现抢红包 自动回复 换肤 改变当前位置 自动添加 附近的人界面的陌生人为好友 三方应
微信hook——登录界面的账号密码
Hook方法一:   手机号码登陆,Method跟踪点击登陆事件:   点击事件内容   分析bj方法,有两个string参数,依然最后调用了com.tencent.mm.modelsimple.q,<em>hook</em>这个bj方法,查看两个参数是什么。   Hook方法:   得到的结果: Hook成功!     Hook方法二   微信号、QQ登陆,me...
Android Hook程序,对库函数进行HOOK
1、Hook原理 Hook<em>技术</em>,其本质就是劫持函数的调用,但是由于处于Linux用户态,每个进程都有自己独立的进程空间,所以必须先注入到所要Hook的进程空间,修改其内存中的进程代码,替换其过程表的符号地址。在Android中,一般是通过ptrace函数附加进程,然后向进程注入so库,从而达到监控以及远程进程关键函数挂钩。 Hook<em>技术</em>的难点,并不在Hook<em>技术</em>,如何找到函数的入
android native hook
android <em>hook</em> 源码 自己都没有c币去下载了,所以就要1分吧
Android native Hook的源码
Android进程so注入Hook java方法的原理和使用(一)中提到的Android native Hook的源码工程,能够在ubuntu下编译成功,提供给向学习Android的Hook的同学,同
在Android中实现Hook机制的实验
写过windows编辑的同学肯定对当时的特别强大的HOOK记忆犹新,不管是什么系统事件,都能捕捉住,那么在android中,如何实现Hook机制呢。 <em>hook</em>,又叫钩子,通常是指对一些方法进行拦截。这样当这些方法被调用时,也能够执行我们自己的代码,这也是面向切面编程的思想(AOP) android中,本身并不提供这样的拦截机制,但是有时候,我们可以在一些特殊的场合实现一种的Hook方法。 大致
2018年度OSC源创会计划,不能错过的技术分享大会
OSC 源创会是开源中国主办的面向开发者的线下<em>技术</em><em>分享</em>和交流活动,目前已经举办了 7 年,覆盖全国一,二线IT主流城市,截止2018年2月举办次数已超过70场。源创会全部的图文回顾请浏览 https://www.oschina.net/event/ych 2018年OSC源创会迎来了第八年,在组委会精心筹备下将以全新的面貌和大家见面,本年度源创会三大看点:1、 与往年每场综合<em>技术</em>杂糅的主题不同的是...
【个人笔记三】ART系统类和方法加载分析
- 在ART上用YAHFA、Legend以及一个java层实现的Andix: http://weishu.me/2017/03/20/dive-into-<em>art</em>-hello-world/,发现除了framework层的类(如telephonymanager)和应用中的类有效外,对于java核心库的类(如IOBridge和Class等)的<em>hook</em>都无效,所以我就以telephonymanager和IOBridge这两
ART模式开启方法(需要root)
ART模式开启方法: 1.在RE管理器中打开DATA文件夹。 2.进入DATA目录后,继续找到“property”目录并打开。 3.打开property目录后,找到文件“persist.sys.dalvik.vm.lib”。 4.长按“persist.sys.dalvik.vm.lib”文件选择“在文本编辑器中打开”。 5.在打开的文本编辑器中找到“libdvm.so
NLP伪原创技术要知道的三个概念
如今人工智能已经发展到一定程度了,对于NLP<em>技术</em>来说,更是一个新阶段,今天谈下NLP伪<em>原创</em><em>技术</em>要知道的三个概念。一、什么是文本挖掘?文本挖掘是基于文本信息进行知识发现的信息挖掘研究分支。文本挖掘的准备包括三个步骤:文本收集,文本分析和特征修剪。目前,已经有几种文本挖掘<em>技术</em>被研究和应用得最为频繁:文档聚类,文档分类和抽象提取。一个比较先进的AI伪<em>原创</em>:小发猫 一键生成<em>原创</em>文章二、什么是自然语言处理?...
NLP伪原创技术早期并不是很受欢迎
事实上,使用nlp<em>技术</em>的小发猫在最初几年并不是很受欢迎,并且知道它的人并不多。很难找到用于在家输入正宗积分的材料和权威材料。当时,人们深以为这是一门被排除在主流心理学之外的学科。有一种真正的同情,然后我在互联网上找到了一个利基学习社区。因为nlp的利基,学习小组的利基以及学习氛围特别强,很容易产生盲目的信任和愉悦的情绪。它缺乏重要性。思维。不同的是,在过去两年,nlp没有显示出一个主题的正常发展和...
Android平台下Dalvik层hook框架ddi的研究
通过adbi,可以对native层的所有代码进行<em>hook</em>。但对于Android系统来说,这还远远不够,因为很多应用都还是在Dalvik虚拟机中运行的。 那么,有没有什么办法可以对Dalvik虚拟机中跑的代码进行<em>hook</em>呢?adbi的作者再接再厉,写了一个叫做ddi(Dynamic Dalvik Instrumentation)的框架,可以从这里获得其源代码:https://github.com/
分享一个曾经实现的ArtHook源码
基于学习和<em>分享</em>的目的,你可以自行下载,随意进行更改,但需要注明出处,版权属于我个人所有。 实现原理和思路: 1、核心原理是利用java反射+代理 2、在java层实现一个method,在jni层替换method结构指针 注意: 我当时使用的手机是google 原生Android6.0,可以在6.0手机跑通,其他版本的ArtMethod结构体头文件中有, 不过我代码中并没有添加对其他类型...
全能HOOK框架 JNI NATIVE JAVA ART DALVIK
OneHook 目前比较流行的几个安卓HOOK方案,都有功能上的欠缺,有的不支持<em>art</em>模式,有的不支持jni层,有的不支持侵入HOOK。 所以OneHook诞生了! 这是一个同时支持ART和Dalvik两种模式,理论上支持安卓4.0.3以上所有版本,同时支持JAVA和NATIVE层,使用全局注入<em>技术</em>的侵入式HOOK框架。 本框架不需要额外的安装,可以静态编译到自己的APP中
AllHookInOne 中的hook基本流程
一、导入表(GOT 表 HOOK) 熟悉 ELF 结构的读者都知道,SO引用外部函数的时候,在编译时会将外部函数的地址以 Stub 的形式存放在.GOT 表中,加载时 linker 再进行重定位,即将真实的外部函数写到此 stub 中。 HOOK 的思路就是:替换GOT表中的外部函数地址。可以理解为<em>hook</em>导入函数。 具体流程: 1.注入进程 2.可能有读者想到马上就是读取并解
ART虚拟机中的DEX文件脱壳技术
转:http://www.xml-data.org/JSJYY/2017-11-3294.htm ART虚拟机中的DEX文件脱壳<em>技术</em> 蒋钟庆, 周安民, 贾鹏     摘要: 在对现有的DEX加固<em>技术</em>和脱壳<em>技术</em>进行系统学习和研究的基础上,提出和实现了一种基于Android ART虚拟机(VM)的DEX脱壳方案。该方案能够从加固的Android应用中还原出原始DEX文件,其核心思想是将静态插桩...
Android APP热更新中的插件化(Hook技术:反射或动态代理),Demo (2)
修改AAPT,资源分区,用于Android插件化- https://github.com/BaoBaoJianqiang/AAPT -- Android下的挂钩(<em>hook</em>)和代码注入(inject) api <em>hook</em><em>技术</em>有2种elf <em>hook</em> 和inline <em>hook</em>。Elf <em>hook</em> 通过修改动态连接库的PLT/GOT表,从而达到函数调用的重定向目的,这种方法只能<em>hook</em>模块的外部调用,例...
Hook技术看这篇就够了
    相信很多搞机的朋友都玩过Xposed, 它实现了很多不可思议的功能。它是怎么实现的呢?这里就得提到我们的Hook<em>技术</em>了。    关于 Android 中的 Hook 机制,大致有两个方式:   要 root 权限,直接 Hook 系统,可以干掉所有的 App。   免 root 权限,但是只能 Hook 自身,对系统其它 App 无能为力。    时间所限,这里不展开了。    知识点: ...
hook 钩子技术
<em>hook</em> 钩子 <em>技术</em> <em>hook</em> 钩子 <em>技术</em> <em>hook</em> 钩子 <em>技术</em><em>hook</em> 钩子 <em>技术</em><em>hook</em> 钩子 <em>技术</em>
无需Root也能Hook?——Depoxsed框架演示
之前我们介绍过rovo89在Githu上的Xposed框架,我们也介绍了如何使用Xposed框架进行登录劫持,和广告注入。但是,之后很多朋友都在问我,这个Xposed框架使用起来很确实很好用。可是就是有一个巨大的缺点,就是需要Root权限。很多设备都没有Root权限,有没有一个不需要Root权限的Hook框架。答案是,确定的。就是目前的Alibab的开源框架,Dexposed框架。github地址
Android主流HOOK框架介绍与应用--游戏破解游戏外挂的必杀技
使用HOOK方案主要是在分析的时候会经常用到,虽然二次打包重新修改代码也可以做到,但是一方面效率低,另一方面如果APP有校验的逻辑就需要进一步绕过,总体还是比较费时费力。所以,通过动态HOOK的方式可以不用直接修改APP文件,也比较方便。下面就分别介绍下比较成熟的几个HOOK框架及其应用:XPOSED,frida,substrate。
Android中免root的hook框架Legend原理解析
一、前言Android中<em>hook</em>框架已经非常多了,最优秀的当属Xposed和Substrate了,这两个框架我在之前的文章都详细介绍过了,不了解的同学,可以转战这里:http://www.wjdiankong.cn;但是这两个框架用于破解逆向是非常有用的,可惜他们最大的局限性就是需要root权限,这个几乎现阶段可能阻碍了很多产品的商业化,毕竟国内人的安全意识越来越高了。所以这里就需要借助一个免ro...
基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现(by 低端码农 2014.10.27)
目录(?)[-] 引言准备符号重定向 例子全局函数指针调用外部函数局部函数指针调用外部函数直接调用外部函数总结 基于执行视图解析ELFELF HookGitHup地址 引言 写这篇<em>技术</em>文的原因,主要有两个: 其一是发现网上大部分描述PLT/GOT符号重定向过程的文章都是针对x86的,比如《Redirecting functions in shar
强烈推荐:一些高质量的原创技术
工欲善其事,必先利其器。作为软件开发、架构设计和系统维护人员来说,在<em>技术</em>日新月异发展的时代,必须及时补充新的知识,储备技能,才能在职场竞争中处于优势地位。今天就给大家一站式推荐几个公众号,相信在未来驰骋职场中能助你一臂之力。 对于一个从事<em>技术</em>的人来说,最大的苦恼就是无法系统性、深入了解某个<em>技术</em>或行业,其主要原因是网上<em>技术</em>文章太过零散、来回拷贝复制。但今天<em>分享</em>的公众号都是一直在坚持
关于android5.1的代码在android7.1上运行的 问题记录
在android 7.1调试 已经在<em>android5.1</em> 运行 良好的代码,出现:A/<em>art</em>: <em>art</em>/runtime/java_vm_ext.cc:470] JNI DETECTED  error in application use of invalid jobject 0x...(这个地址可以随意)我调用的是本地方法;博客连接:点击打开链接http://www.voidcn.com/<em>art</em>i...
Dalvik的JIT与ART的AOT介绍
JIT:全称Just in time即时编译,Dalvik VM采用的就是这种编译,我们知道apk被安装到手机中时,对应目录会有dex或odex和apk文件,apk文件存储的是资源文件,而dex或odex(经过优化后的dex文件内部存储class文件)内部存储class文件,每次运行app时虚拟机会将dex文件解释翻译成机器码,这样才算是本地可执行代码,之后被系统运行。 AOT:全称Ahead ...
Window Hook 技术详解
Hook简介 微软的MSDN中,对Hook的解释为: A <em>hook</em> is a point in the system message-handling mechanism where an application can install a subroutine to monitor the message traffic in the system and process certain
Android 5.0/5.1 HOOK技术探究
因为项目要求,需要实现兼容Android 4.X到5.X平台的HOOK<em>技术</em>。主要兼容的ROM厂商为华为、三星、小米等。     之前已经实现过基于Android 4.X的HOOK<em>技术</em>,共有以下三种方案(都调试成功):                       (1)方案1:使用Xposed框架(Dalvik虚拟机层HOOK),但是弊端是需要安装版本兼容的Xposed(部分国产机ROM
一个Demo了解android中的hook技术
最近了解了下android中的<em>hook</em><em>技术</em>,一段代码黑掉了activity的启动过程,Demo中涉及到framework层activity的启动机制,JAVA的反射+代理机制,不得不说掌握这个<em>技术</em>需要深厚的<em>技术</em>功底才行。文章地址:在这里,写这篇博客是记录下自己对其中用到的<em>技术</em>的理解。 调用st<em>art</em>Activity会进入framework,然后通过IActivityManager对象的sta
Android Hook 简介
1、Hook基本概述 Hook翻译过来是钩子的意思,我们都知道无论是手机还是电脑运行的时候都依赖系统各种各样的API,当某些API不能满足我们的要求时,我们就得去修改某些api,使之能满足我们的要求。这样api <em>hook</em>就自然而然的出现了。我们可以通过api <em>hook</em>,改变一个系统api的原有功能。基本的方法就是通过<em>hook</em>“接触”到需要修改的api函数入口点,改变它的地址指向新的自定义的函数。当然这种<em>技术</em>同样适用于Android系统,在Android开发中,我们同样能利用Hook的原理让系统某些方法运行
Android逆向之旅---Hook神器家族的Frida工具使用详解
一、前言 在逆向过程中有一个Hook神器是必不可少的工具,之前已经介绍了Xposed和Substrate了,不了解的同学可以看这两篇文章:Android中Hook神器Xposed工具介绍 和 Android中Hook神器SubstrateCydia工具介绍 这两篇文章非常重要一个是Hook Java层的时候最常用的Xposed和Hook Native层的SubstrateCydia,可以看我之前...
文章热词 体感技术 帧内编码技术 体感技术视频教程 体感技术学习 体感技术课程
相关热词 android5.1 编译 android art 结构 android5.1 密码输入 android5.1月统计流量 学python技术 区块链课程分享
我们是很有底线的