Android(五)——dex文件动态调试
代码动态调试:
代码动态调试技术,一般是通过观察程序在运行过程中的状态,如寄存器内容,函数执行结果,内存使用情况等等,分析函数功能,明确代码逻辑,查找可能存在的漏洞
工具:IDA
条件:AndroidManifest.xml里的Android:debuggable="true"
步骤:
1)如果AndroidManifest.xml里的Android:debuggable="false",尝试修改为true,再使用Apktool重新签名,安装,如果成功就可以进行调试了;
2)安装android_server(在ida安卓包中),然后端口转发adb forward tcp:23946 tcp:23496
3)使用ida打开apk文件中的dex文件
4)选择Debugger-Debugger options-set spectific options进行调试
具体步骤:
动态调试:
启动android_server并且转发端口:
打开dex文件:
然后点击debugger选项中的debugger options,选择set specific options:
设置完上面的以后,点击debugger选项下的attach to process:
弹出的对话框点击ok就可以来到调试页面了:
如果你看不懂smali代码,这里也可以加载java代码来进行调试(这里需要先把class.dex文件反编译成java代码):
还是在debugger选项下,选择open source file:
接下来就是下断点了,可以在java代码中下断点,也可以直接在smali中下断点,这里用smali:
Ctrl+P查找onclick
双击onClick,进入到该函数:
F2下断点,F8单步调试:
利用java调试步骤是一样的,就不演示了。
Android(五)——dex文件动态调试的更多相关文章
- IDA动态调试Android的DEX文件
Android程序的dex文件的动态调试确实是个大问题,网上也有一些教程但是不是特别的详细,今天用到了IDA动态调试Android的DEX文件,特此记录一下. IDA 6.6新添加了对dex文件的调试 ...
- Android漫游记(4)---.so文件动态调试一例
Android平台的动态调试一直以来是个困扰我等Coder的头疼问题,特别是对于本地的动态调试支持.能够说是"弱智"级别的,不知道Google的新版NDK和新出的Android S ...
- 利用IDA6.6进行apk dex代码动态调试
网上公开IDA6.6已经有一段时间,这个版本有个好处就是可以动态调试java代码.正好现在需要动态调试,所以顺便练习一下. 根据android的官方文档,如果要调试一个apk里面的dex代码,必须满足 ...
- IDA在内存中dump出android的Dex文件
转载自http://drops.wooyun.org/tips/6840 在现在的移动安全环境中,程序加壳已经成为家常便饭了,如果不会脱壳简直没法在破解界混的节奏.ZJDroid作为一种万能脱壳器是非 ...
- 解决Android单个dex文件不能超过65536个方法问题
当我们的项目代码过大时,编译运行时会报Unable to execute dex: method ID not in[0, 0xffff]: 65536)错误.当出现这个错误时说明你本身自己的工程代码 ...
- 解决Android单个dex文件不能超过65535个方法问题
一.找坑:谷歌规定单个dex文件中的方法不能超过65536的限制 我们编写项目过程中在工程的lib文件夹下引用的第三方插件jar包太多或者项目过大,编译运行时就有可能报出com.android.dex ...
- 浅谈被加壳ELF(即android的so文件)的调试
本文只讨论如何调试被加壳的ELF文件,包括调试中的技巧运用及调试过程中可能遇到的问题的解决方法,不包含如何还原加固的DEX本文将以某加壳程序和某加固为目标. 一.ELF格式简介 ELF全称:Execu ...
- Android APK程序的smali动态调试
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/71250622 一.Apktool的下载和安装 Apktool是Android逆向分 ...
- Android动态调试so库JNI_Onload函数-----基于IDA实现
之前看过吾爱破解论坛一个关于Android'逆向动态调试的经验总结帖,那个帖子写的很好,对Android的脱壳和破解很有帮助,之前我们老师在上课的时候也讲过集中调试的方法,但是现在不太实用.对吾爱破解 ...
随机推荐
- windows10的普通用户使用Task Scheduler的问题
在Create Task 窗口的General选项卡中,在Security options 里有几个单选项,分别是 Run only when user is logged on ,Run wheth ...
- rpgmakermv \c 常用颜色一览
1 2 3 4 5 6 7 14 18
- nodejs:导出Excel和解析导入的Excel
用的是koa2框架,但好好处理一下,用express框架也是可以的.导出的Excel是xlsx的格式,解析导入Excel的有xlsx和csv格式.通常导入Excel是要上传的,然后获取文件的路径,这里 ...
- LearnOpenGL
---------------------------------------------- LearnOpenGL ----------------------------------------- ...
- centos7.4卸载再安装mariadb服务无法启动问题
今天yum安装MariaDB完成后,启动服务时一直报以下错误 Job for mariadb.service failed. See ‘systemctl status mariadb.service ...
- Tomcat证书安装(pfx和jks)
tomcat安装证书需要修改tomcat/conf下的server.xml,需要修改Connector port=”8443”开头的标签,一般情况下是注释掉的. 1.pfx 增加keystoreFil ...
- ELK学习笔记之logstash安装logstash-filter-multiline(在线离线安装)
0x00 概述 ELK-logstash在搬运日志的时候会出现多行日志,普通的搬运会造成保存到ES中单条单条,很丑,而且不方便读取,logstash-filter-multiline可以解决该问题 g ...
- 自定义控件之SegmentControlView
SegmentControlView配合PageView使用 效果图 核心代码 package com.example.segmentcontrolview; import android.conte ...
- radhat6.6上安装oracle12c RAC (一)
软件环境:VMware.redhat6.6.oracle12c(linuxx64_12201_database.zip).12cgrid(linuxx64_12201_grid_home.zip) 一 ...
- android源码编译出现No private recovery resources for TARGET_DEVICE解决方法
mmm或mm出现以下提示的解决方法:Terminal log:No private recovery resources for TARGET_DEVICE xxxxxxmake: Entering ...