
Android逆向
CoderAldrich
这个作者很懒,什么都没留下…
展开
-
IDA动态调试Android进程的so模块
分析一个android应用时,核心算法代码大部分都在so库中,除了使用IDA静态分析,还需要通过动态调试来获取执行流程以及中间数据。这里记录的是使用IDA进行调试的方法,相比而言,IDA动态调试时不能看到浮点寄存器的数值,只能分析流程,但是可以利用IDC脚本快捷的获取中间数据。1、使用adb的push命令,把IDA安装目录下的android_server拷贝到手机目录/data/local/t原创 2016-11-04 14:13:40 · 3012 阅读 · 0 评论 -
android逆向和调试中内存断点的设置
使用IDA对android进程逆向调试时有一个问题是无法设置内存断点,导致很多时候分析会卡壳,这一点可以通过gikdbg中的gdb来弥补,gdb中watchpoint是用来观察某个地址的状态,因此可以作为内存断点使用,命令如下:(gdb) watch 在指定变量/内存地址(表达式)expr设置一个watchpoint。一但expr值有变化时,将停住程序。(gdb) rwatch原创 2016-11-04 14:31:06 · 2619 阅读 · 1 评论 -
Android 双开沙箱 VirtualApp 源码分析(一)
欢迎使用优快云-markdown编辑器最近发现了一个非常好的开源项目,基本实现了一个 Android 上的沙箱环境,不过应用场景最多的还是应用双开。VA github: https://github.com/asLody/VirtualAppVA 的源码注释: https://github.com/ganyao114/VA_Doc第一章主要是分析一下项目的整体结构。包结构andro...转载 2019-06-18 18:03:47 · 1818 阅读 · 0 评论 -
Android 双开沙箱 VirtualApp 源码分析(二)
Android 双开沙箱 VirtualApp 源码分析(二)VA 初始化先看一下代码:VirtualCore.startuppublic void startup(Context context) throws Throwable { if (!isStartUp) { // 确保 MainThread if (Looper...转载 2019-06-18 18:08:55 · 562 阅读 · 0 评论 -
Android 双开沙箱 VirtualApp 源码分析(三)App 启动
Android 双开沙箱 VirtualApp 源码分析(三)App 启动在这之前,我们还是要先了解一下 VA Client Framework 和 VAService 之间的通讯方式VAService 与通讯VAService首先,VAService 是指 VA 仿造 Android 原生 framework 层 Service 实现的一套副本,举例有 VActivityManagerS...转载 2019-06-18 18:24:44 · 703 阅读 · 0 评论 -
Android 双开沙箱 VirtualApp 源码分析(四)启动插件 Service
Android 双开沙箱 VirtualApp 源码分析(四)启动插件 Service原生 Service 创建过程首先有必要了解一下原生 framework 对 Service 的创建,因为在 VA 中启动 Service 和 Activity 有很大的区别。首先入口 ContextWrapper.startService():@Override public Component...转载 2019-06-18 18:40:57 · 377 阅读 · 0 评论 -
Android 双开沙箱 VirtualApp 源码分析(五)BroadcastReceiver
Android 双开沙箱 VirtualApp 源码分析(五)BroadcastReceiver方案猜测同 Activity 一样,Client App 在 Menifest 中注册的静态广播外部 AMS 是无法知晓的,经过前几章的分析,相信大家已经是老司机了,我们可以先尝试提出自己的观点。和 Activity 一样使用 Stub 组件占坑?仔细想一想是无法实现的,因为你无法预先确定 Cl...转载 2019-06-18 18:53:49 · 574 阅读 · 1 评论 -
Android 双开沙箱 VirtualApp 源码分析(六)ContentProvider
Android 双开沙箱 VirtualApp 源码分析(六)ContentProviderProvider 注册回顾前面,Activity 启动的时候会检查 Application 是否初始化,会调用 bindApplication,里面执行了安装 Provider 的方法:private void installContentProviders(Context app, List<...转载 2019-06-18 18:58:06 · 517 阅读 · 0 评论