前言:

Android EagleEye官方介绍在 https://github.com/MindMac/AndroidEagleEye/blob/master/README-zh.md

"Android EagleEye是一个基于Xposed和adbi的应用,可以实现对Android Java和Native方法的Hook,最终会将Hook的方法相关信息以Log的形式输出,包括应用的uid、方法名称、参数信息、返回值等。"

真的像鹰眼检测应用调用了哪些api,作者很厉害!

作为笔记来说,是官方readme的补充,也是自己的备忘。

笔记1,EagleEye源码能否修改再重新打包?

能,修改代码后直接安装就可以了。这里我遇到的坑是运行后死活没用,基于现在浮躁的

人心,网上一通乱搜,看上面readme没啥发现,作者没讲打包部署。还是一句话,人别浮躁,脑子要清醒,

坐下来看人家用了啥。 Xposed框架,重点是这个,所以理所当然去查看Xposed而不是网上一通搜这个EagleEye

怎么不起作用了,怎么这样那样都不行,都3天了急,在线等。。。。哥们,没人理你的,等到头发白也没用!

Xposed部署wiki

人家官方好好躺着答案呢,不谢!

xposed 相关下载:

http://repo.xposed.info/module/de.robv.android.xposed.installer

pid uid 获取 http://blog.csdn.net/jiaoli_82/article/details/49802613

笔记2:

查看Eagleye调用栈:

FileHook.java中调用如下代码:

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement :stackTraceElements){
   Log.e("evab","className = "+stackTraceElement.getClassName()+ " | method = "+stackTraceElement.getMethodName());
}

打印结果如下:

12-17 11:20:54.295 1262-1335/com.happyelements.AndroidAnimal E/evan: FileHook  filePath = /system/bin/su
12-17 11:20:54.322 1262-1335/com.happyelements.AndroidAnimal E/evab: className = dalvik.system.VMStack | method = getThreadStackTrace
12-17 11:20:54.323 1262-1335/com.happyelements.AndroidAnimal E/evab: className = java.lang.Thread | method = getStackTrace
12-17 11:20:54.323 1262-1335/com.happyelements.AndroidAnimal E/evab: className = com.mindmac.eagleeye.hookclass.FileHook | method = antiAntiEmu
12-17 11:20:54.323 1262-1335/com.happyelements.AndroidAnimal E/evab: className = com.mindmac.eagleeye.hookclass.FileHook | method = logSpecial
12-17 11:20:54.323 1262-1335/com.happyelements.AndroidAnimal E/evab: className = com.mindmac.eagleeye.hookclass.FileHook | method = after
12-17 11:20:54.323 1262-1335/com.happyelements.AndroidAnimal E/evab: className = com.mindmac.eagleeye.service.Launcher$3 | method = afterHookedMethod
12-17 11:20:54.324 1262-1335/com.happyelements.AndroidAnimal E/evab: className = de.robv.android.xposed.XposedBridge | method = handleHookedMethod
12-17 11:20:54.324 1262-1335/com.happyelements.AndroidAnimal E/evab: className = java.io.File | method = exists
12-17 11:20:54.324 1262-1335/com.happyelements.AndroidAnimal E/evab: className = java.lang.reflect.Method | method = invoke
12-17 11:20:54.324 1262-1335/com.happyelements.AndroidAnimal E/evab: className = java.lang.reflect.Method | method = invoke
12-17 11:20:54.336 1262-1335/com.happyelements.AndroidAnimal E/evab: className = org.keplerproject.luajava.LuaJavaAPI | method = invokeMethod
12-17 11:20:54.340 1262-1335/com.happyelements.AndroidAnimal E/evab: className = org.keplerproject.luajava.LuaJavaAPI | method = objectIndex
12-17 11:20:54.345 1262-1335/com.happyelements.AndroidAnimal E/evab: className = org.cocos2dx.lib.Cocos2dxRenderer | method = nativeInit
12-17 11:20:54.345 1262-1335/com.happyelements.AndroidAnimal E/evab: className = org.cocos2dx.lib.Cocos2dxRenderer | method = onSurfaceCreated
12-17 11:20:54.346 1262-1335/com.happyelements.AndroidAnimal E/evab: className = android.opengl.GLSurfaceView$GLThread | method = guardedRun
12-17 11:20:54.346 1262-1335/com.happyelements.AndroidAnimal E/evab: className = android.opengl.GLSurfaceView$GLThread | method = run

后记:

目的1本笔记是为防止忘记,所以做个记录,当然更多是一种净化大家的浮躁,也许是我自己浮躁想让自己平静而已。

目的2是说 深入 Xposed或者 Eagleye 还有待时间继续学习,加油!

Android EagleEye笔记相关推荐

  1. Android进阶笔记:Messenger源码详解

    Messenger可以理解为一个是用于发送消息的一个类用法也很多,这里主要分析一下再跨进程的情况下Messenger的实现流程与源码分析.相信结合前面两篇关于aidl解析文章能够更好的对aidl有一个 ...

  2. Android学习笔记21:ImageView获取网络图片

    Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...

  3. Android进阶笔记:AIDL内部实现详解 (二)

    接着上一篇分析的aidl的流程解析.知道了aidl主要就是利用Ibinder来实现跨进程通信的.既然是通过对Binder各种方法的封装,那也可以不使用aidl自己通过Binder来实现跨进程通讯.那么 ...

  4. Android学习笔记(七):多个Activity和Intent

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

  5. Android学习笔记26:图片切换控件ImageSwitcher的使用

    在Windows操作系统中,要查看多张图片,可以通过使用"Windows照片查看器"在"上一张"和"下一张"之间切换,进行多张图片的浏览. ...

  6. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  7. Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 ...

  8. Android学习笔记:TabHost 和 FragmentTabHost

    2019独角兽企业重金招聘Python工程师标准>>> Android学习笔记:TabHost 和 FragmentTabHostTabHost命名空间:android.widget ...

  9. 【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的 ...

  10. Android学习笔记:TabHost 和 FragmentTabHost(转)

    Android学习笔记:TabHost 和 FragmentTabHost(转) 转自:http://www.cnblogs.com/asion/p/3339313.html 作者:Asion Tan ...

最新文章

  1. python文本处理实例_Python 文件处理的简单示例
  2. WinCE Heartbeat Message的实现
  3. macbook所有型号大全_提高MacBook电池寿命的15个技巧
  4. Arduino与NodeMCU——联网
  5. django 后台日期_Django中的日期和时间格式 DateTimeField
  6. 米线店结账程序 装饰着模式_实验报告2_装饰者模式
  7. Spring Boot笔记-jQuery使用load进行异步调用
  8. bzoj3110树套树
  9. python将object转换为float_如何在python中将datatype:object转换为float64?
  10. [再学Python] - 1 - 数据类型
  11. 开放 Rake 打包项目
  12. ios音乐播放器使用综述
  13. centos下nginx bind() to 0.0.0.0:8090 failed
  14. DCMTK读取dcm文件信息环境搭建及经验总结
  15. 希捷ST31000528AS Disk Boot Failure, Insert System Disk and Press Enter和飞利浦的193ei显示器亮的问题
  16. VS2013 community 官方版下载
  17. 谷歌浏览器代理服务器出现问题怎么办?(最快的解决办法)
  18. 内存映射图( 网络IO和磁盘IO详解)
  19. 蚌埠住了,让我虎躯一震的代码!
  20. stm32f407探索者开发板资料

热门文章

  1. Windows 罕见技巧全集3
  2. 【jdbc】 jndi与“Java:comp/env/“语法
  3. java 多线程高级,java 多线程高级(传统多线程)
  4. Elastic 7.12 版重磅发布:读时模式、冻结层技术预览版和自动扩展功能正式发布
  5. Zabbix 5.0 配置短信报警
  6. linux发送短信的脚本,shell监控系统资源并通过短信报警的脚本
  7. 解决无法启动“start web server”:
  8. gprs信息上传服务器,车载GPS GPRS数据上传 源码带注释
  9. Spring Security OAuth2实现简单的密钥轮换及配置资源服务器JWK缓存
  10. 【云主机迁移原理】华为云主机迁移服务SMS的原理分析