摘要: xposed的学习要告一段落,接下来去学习android apk和so加固,这里我们回顾下xposed吧。 xposed是个hook框架,它是基于dalvik(确切来说是目前的版本,作者说ART也快出来了哦)的,也就是说他只是hook java函数。ok,既然xposed是个hook框架我们就... 阅读全文
posted @ 2015-09-14 21:33 vendanner 阅读(993) 评论(0) 推荐(0) 编辑
摘要: android中zygote相信大家都很熟悉,它执行的函数是app_main.cpp,而xposed主要实现的就是替换app_main.cpp。所以在分析xposed时有必要来认识下zygote。好了,废话不多说,直接看app_main.cpp源码我们发现其main函数主要由AppRuntime... 阅读全文
posted @ 2015-09-10 11:44 vendanner 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: 在介绍android工具之前,先理清android中出现的文件格式: java:android源码 class:java编译后生成; dex: 由dx工具编译class而成,由dalvik执行; smali:和dex的关系如同汇编代码和opcode; 先看下,android源... 阅读全文
posted @ 2015-09-09 19:24 vendanner 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 在上一篇我们留下问题:handleLoadPackage如何生效即在何时被执行。 先看XposedBridge.class的main(该函数是在appruntime.start函数中替换原先zygoteinit,故结尾处会调用zygoteinit): 1 private static void ... 阅读全文
posted @ 2015-09-07 20:46 vendanner 阅读(8072) 评论(0) 推荐(0) 编辑
摘要: 在上一篇我们学习了如何在AS中创建Xposed模块,本篇来分析下官方教程中redClock的实现原理。本系列文章基于version-51public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Thro... 阅读全文
posted @ 2015-08-31 21:50 vendanner 阅读(4056) 评论(0) 推荐(0) 编辑
摘要: 学习Xposed框架,在github:https://github.com/rovo89 下载XposedInstaller安装到手机上来管理Xposed的模块。本文记录根据官方文档(资料1)在android studio下创建Xposed模块的步骤:1 打开AS创建空activity的项目;2 在... 阅读全文
posted @ 2015-08-26 16:54 vendanner 阅读(2111) 评论(0) 推荐(0) 编辑
摘要: 前面走马观花的看了几个模块的源码,看到是用python(会加载自定义的java类)写的。产生2个问题:在命令行中输入command,drozer是如何去执行的;python是如何与java交互的。drozer console connect:当我们在命令行输入以上字符串时,在drozer中是如此来执... 阅读全文
posted @ 2015-08-25 16:30 vendanner 阅读(753) 评论(0) 推荐(0) 编辑
摘要: Information: datetime: 输出android中当前日期;time. setToNow() deviceinfo: 输出设备信息 deviceinfo做了三件事:1. cat /proc/version;输出linux内核版本和gcc编译版本号2. cat /system/buil... 阅读全文
posted @ 2015-08-19 10:28 vendanner 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 源码下载:https://github.com/mwrlabs/drozer;模块的源码位于src.drozer.modules,根据模块名来划分文件夹: app、auxiliary、exploit、information、scanner、shell、tools。今天我们先分析app;以下Pack... 阅读全文
posted @ 2015-08-12 18:36 vendanner 阅读(634) 评论(0) 推荐(0) 编辑
摘要: dalvik是android中使用的虚拟机,基于寄存器,分析基于android4.2源代码。本篇主要分析的是dalvik中的解释器部分,源码位于/dalvik/vm,主要代码在interp和mterp文件夹下。 我们知道java能运行在各个平台在于它运行在虚拟机上,由虚拟机来与各个硬件平台打交... 阅读全文
posted @ 2015-08-12 09:31 vendanner 阅读(1329) 评论(0) 推荐(0) 编辑