
Android 动态调试
Omni-Space
专注Android, Mobile Security and AI
展开
-
ftrace、kpatch、systemtap的基本原理、联系和区别
1、ftraceLinux当前版本中,功能最强大的调试、跟踪手段。其最基本的功能是提供了动态和静态探测点,用于探测内核中指定位置上的相关信息。静态探测点,是在内核代码中调用ftrace提供的相应接口实现,称之为静态是因为,是在内核代码中写死的,静态编译到内核代码中的,在内核编译后,就不能再动态修改。在开启ftrace相关的内核配置选项后,内核中已经在一些关键的地方设置了静态探测点,需要使用转载 2016-04-03 15:54:01 · 3100 阅读 · 0 评论 -
Smalidea+IntelliJ IDEA/Android Studio无源码调试
smalidea是一个IntelliJ IDEA/Android Studio smali语言插件,可实现动态调试smali代码。github地址:https://github.com/JesusFreke/smali/wiki/smalidea前言在开发过程中,debug版本我们可以跟踪调试,查看bug等信息,但是在release版本中只能去打log进行代码进转载 2017-09-25 08:52:11 · 1910 阅读 · 0 评论 -
反调试检测之一TracerPid
当我们使用Ptrace方式跟踪一个进程时,目标进程会记录自己被谁跟踪,可以查看/proc/pid/status看到这个信息,下图展示的是使用ida进行调试的情况。Paste_Image.pngPaste_Image.png而没有被调试的时候TracerPid为0:Paste_Image.png因此一种常见的检测调试的办法就是去读取这个值,发现不是0则判定转载 2017-08-24 14:35:04 · 1727 阅读 · 0 评论 -
Android逆向之旅---Native层的Hook神器Cydia Substrate使用详解
一、前言在之前已经介绍过了Android中一款hook神器Xposed,那个框架使用非常简单,方法也就那几个,其实最主要的是我们如何找到一个想要hook的应用的那个突破点。需要逆向分析app即可。不了解Xposed框架的同学可以查看:Android中hook神器Xposed使用详解;关于hook使用以及原理不多解释了。今天我们再来看另外一个hook神器Cydia Substrate,关于这转载 2017-08-24 14:24:37 · 1032 阅读 · 0 评论 -
Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)
一、前言今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了:Android中使用静态方式破解Apk主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和转载 2017-08-24 14:19:58 · 780 阅读 · 0 评论 -
ART深度探索开篇:从Method Hook谈起
Android上的热修复框架 AndFix 想必已经是耳熟能详,它的原理实际上很简单:方法替换——Java层的每一个方法在虚拟机实现里面都对应着一个ArtMethod的结构体,只要把原方法的结构体内容替换成新的结构体的内容,在调用原方法的时候,真正执行的指令会是新方法的指令;这样就能实现热修复,详细代码见 AndFix。为什么可以这么做呢?那得从 Android 虚拟机的方法调用过程说起。作为转载 2017-08-27 15:33:19 · 605 阅读 · 0 评论 -
AndroidLinker与SO加壳技术之下篇
2.4 链接链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤:1. 定位 dynamic section,由函数 phdr_table_get_dynamic_section 完成,该函数会遍历 program header,找到为类型为 PT_DYNAMIC 的 header, 从中获取的是 dynamic section 的信息,主要就是虚转载 2017-01-19 03:04:58 · 962 阅读 · 0 评论 -
Smalidea+IntelliJ IDEA/Android Studio动态调试安卓app教程
smalideasmalidea是一个IntelliJ IDEA/Android Studio smali语言插件,可实现动态调试smali代码。github地址:https://github.com/JesusFreke/smali/wiki/smalidea下载地址:https://bitbucket.org/JesusFreke/smali/downloads转载 2016-05-04 07:19:31 · 1905 阅读 · 0 评论 -
Smalidea无源码调试 android 应用
smalidea是一款 IntelliJ IDEA/Android Studio的 smali 插件已有功能语法高亮/错误提示字节码级别调试断点单步调试寄存器查看本地窗口 java 语法支持,debug 模式下同样支持支持跳转,方便追踪变量/函数/类.(Xref也支持)查找用法重命名从 java 代码引用 smali 类 错误反馈...安装下载插件sma转载 2016-03-28 16:30:07 · 624 阅读 · 0 评论 -
无源码动态调试APK
0x00 工具准备1.apktool2.netbeans或者Intelij(android studio) ;这里使用netbeans作为例子3.ddms4.apk签名工具0x01 具体流程1.用apktool以调试模式反编译你需要进行逆向调试的xxxx.apk[plain] view plain copy java -j转载 2016-03-28 16:27:23 · 1014 阅读 · 0 评论 -
Exploiting Debuggable Android Applications
In the previous article, we have seen how to debug Java applications using a little tool called JDB. In this article, we will apply the same logic to exploit Android apps, if they are flagged as debug转载 2016-03-28 16:10:00 · 606 阅读 · 0 评论 -
Android Linux内核编译调试
对于在Windows上写代码写习惯的人,调试是必不可少的手段,但是转到Android以后,发现调试手段异常简陋,跟Windows简直不是一个级别,特别是Android的内核调试,网上资料也相对较少,不过通过一段时间的倒腾,我终于找到了还算靠谱的调试方法.就是利用Emulator + Eclipse进行Android Linux内核调试. 1.系统预装环境在目前为止,都是使用转载 2016-04-03 17:12:06 · 1209 阅读 · 0 评论