大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
前言:
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 相关下载:
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 还有待时间继续学习,加油!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170730.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...