Cydia for Android2

使用cydia框架编写cydia hook插件的时候由于initialize方法是无参的静态方法,所以不能获取上下文因此很多事情直接在initialize方法里就干不了,比如toast,发送广播等。由于hook是改变其他的类的API的执行结果。所以可以使用HOOK的那个类来获取context从而达到可以使用toast等的目的。

办法:

 1             MS.hookMethod(arg0, toast, new MS.MethodAlteration() {
 2
 3                 @Override
 4                 public Object invoked(Object arg0, Object... arg1)
 5                         throws Throwable {
 6                     Toast.makeText(((Activity)arg0).getApplicationContext(), "test", Toast.LENGTH_LONG).show();
 7                     invoke(arg0, "hook before");
 8                     invoke(arg0, arg1);
 9                     invoke(arg0, "hook end");
10                     return null;
11                 }
12             });

参数arg0就是最后HOOK的那个类的一个实例,利用她可以获取她里面的方法,由于我这里HOOK的类是Activity类型,所以可以获取Context.

时间: 2024-09-18 05:46:29

Cydia for Android2的相关文章

Cydia Substrate based DexDumper's weakness

得益于Cydia Substrate框架,HOOK Native函数变得简单,也给脱壳带来方便. 像ijiami免费版,360,classes.dex被加密到so文件并运行时释放到内存,因此针对相关函数的HOOK脱壳就比较简单了. 但也有一些容易被针对的缺点: 1.代码可以在类加载时被修改.hook dexFileParse.__mmap2或memcmp 等可能dump出是修复前的dex 2.修改了odex的标志dey\n036,dumper在内存中搜索不到,将漏掉真正的odex 3.packe

QT210 android2.3 和android4.0 烧写编译日记

QT210下载烧录编译android2.3过程 工作环境:ubuntu12.04.5 | QT210开发板光盘 | QT210开发板 android2.3编译环境:gcc version 4.4.7  | java version 6 | java version 5 | git version 1.7.9.5 tips by chsry:浅灰色是终端窗口运行保存的部分命令和信息,ubuntu14.04无法编译QT210 android2.3(无法安装java6) 安装好ubuntu12.04.

基于Android2.3.5系统:Android.mk文件解析

*************************************************************************************************************************** 作者:EasyWave                                                                                                               时间:2

利用Cydia Substrate进行Android HOOK

Cydia Substrate是一个代码修改平台.它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的.而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具. 官网地址:http://www.cydiasubstrate.com/ Demo地址:https://github.com/zencodex/cydia-android-hook 官方教程:http://www.cydiasu

更新cydia“sub-process/usr/libexec/cydia/cydo returned anerror code(2)”是怎么回事?

最近更新cydia的时候出现了sub-process/usr/libexec/cydia/cydo returned anerror code(2)的红字是怎么回事? 解决方法:删掉有关升级的东西,把var/lib/dpkg/updates里面的东西全删了(有很多序号的文件和一个tmp.i文件)

使用cydia substrate 来进行android native hook

? cydia不仅可以hook java代码,同样可以hook native代码,下面举一个例子来进行android native hook 我是在网上找到的supermathhook这个项目,在他基础上修改的,本来是为了仓促应对阿里的ctf 这个项目位置: 这个项目是用来hook jni 代码的,而我是用来hook dvmDexFileOpenPartial这个函数的,所以必须使用 Mshookfunction这个函数,这个函数在libsubstrate.so中,自己去官网下载就可以了. 接下

Android.Hook框架Cydia篇

Cydia Substrate是一个代码修改平台.它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的.而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具. 官网地址:http://www.cydiasubstrate.com/ 官方教程:http://www.cydiasubstrate.com/id/38be592b-bda7-4dd2-b049-cec44ef7a73b SD

Android HOOK工具Cydia Substrate使用详解

目录(?)[+] Substrate几个重要API介绍 MShookClassLoad MShookMethod 使用方法 短信监控实例 Cydia Substrate是一个代码修改平台.它可以修改任何主进程的代码,不管是用Java还是C/C++(native代码)编写的.而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具. 官网地址:http://www.cydiasubstrate.com/ Demo地址:h

Android上玩玩Hook:Cydia Substrate实战

作者简介:周圣韬,百度高级Android开发工程师,博客地址:http://blog.csdn.net/yzzst 了解Hook 还没有接触过Hook技术读者一定会对Hook一词感觉到特别的陌生,Hook英文翻译过来就是“钩子”的意思,那我们在什么时候使用这个“钩子”呢? 我们知道,在Android操作系统中系统维护着自己的一套事件分发机制.应用程序,包括应用触发事件和后台逻辑处理,也是根据事件流程一步步的向下执行.而“钩子”的意思,就是在事件传送到终点前截获并监控事件的传输,像个钩子勾上事件一