Android SO动态调试之IDA

粘贴一些命令,懒人复制粘贴用 ;(

1、上传并启动android_server(IDA的dbgsrv目录)

2、设置端口转发:adb forward tcp:23946 tcp:23946

3、调试模式启动应用:adb shell am start -D -n 包名/类名

类名可以在AndroidManifest.xml中查看,搜索LAUNCHER对应的android:name

4、IDA attach到目标进程,转换端口到指定调试程序:adb forward tcp:9999 jdwp:进程id(id在attach时记下或通过ps |grep查看)

5、jdb附加到调试程序:jdb -connect com.sun.jdi.SocketAttach:port=9999,hostname=localhost

6、在目标so的目标函数下断点,F9执行到断点,开始调试之

_Z21dvmDexFileOpenPartialPKviPP6DvmDex下断dump出dex文件的脚本:

auto fp, dex_addr, end_addr;

fp = fopen("e:\\dump.dex", "wb");
end_addr = r0 + r1;
for(dex_addr = r0; dex_addr < end_addr; dex_addr++)
    fputc(Byte(dex_addr), fp)

时间: 2024-10-23 16:37:31

Android SO动态调试之IDA的相关文章

Android studio动态调试smali

前面介绍了使用IDA动态调试smali,这种方法设置简单,不用重打包,用起来方便,但是如果变量类型设置错误则会马上退出调试,这是让人不爽的地方,而使用Android studio则不会. 0x01    工具①Android Studio最新版.②apktool尽量使用最新版的.③ideasmali插件.下载地址https://github.com/JesusFreke/smali/wiki/smalidea 0x02     具体步骤安装ideasmali插件,选择File->Settings

Android逆向 Android Studio动态调试smali代码

工具: Android Studio版本: 3.0.1 smalidea插件: https://github.com/JesusFreke/smali/wiki/smalidea. 反编译工具:本节先用Android Killer,后面介绍apktool. 一 配置插件 下载smalidea插件,然后打卡Android Studio,点击File->Setting->Plugins->Install plugin from disk,选择下载的smalidea.zip文件,安装成功后显示

Android逆向之动态调试so库JNI_Onload函数-----基于IDA实现

之前看过吾爱破解论坛一个关于Android'逆向动态调试的经验总结帖,那个帖子写的很好,对Android的脱壳和破解很有帮助,之前我们老师在上课的时候也讲过集中调试的方法,但是现在不太实用.对吾爱破解论坛的该贴,我也是看了很多遍,自己也查了不少资料,但是自己动手的时候总觉比较繁琐,并且很多细节的地方没有注意到,按照那个帖子尝试了几遍但是却出现了错误(后面会提到),今天周末重新拾起来试了试,终于把遇到的问题给解决了,顺便做个记录以免忘记了,其中的一些细节我也不是太明白,忘知道的人给指出. 第一步.

安卓动态调试七种武器之孔雀翎 – Ida Pro

安卓动态调试七种武器之孔雀翎 – Ida Pro 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试武器.因此,笔者将会在这一系列文章中分享一些自己经常用或原创的调试工具以及手段,希望能对国内移动安全的研究起到一些催化剂的作用. 目录如下: 安卓动态调试七种武器之长生剑 - Smali Instrumentation 安卓动

[转载]安卓动态调试七种武器之孔雀翎 - Ida

本文转载自: http://drops.wooyun.org/tips/6840 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试武器.因此,笔者将会在这一系列文章中分享一些自己经常用或原创的调试工具以及手段,希望能对国内移动安全的研究起到一些催化剂的作用. 目录如下: 安卓动态调试七种武器之长生剑 - Smali Instrumentation

【AndroidStudio】使用AndroidStudio动态调试Smali文件

1.简介 smalidea是一个IntelliJ IDEA/Android Studio smali语言插件,可实现动态调试smali代码.下载地址为:https://github.com/JesusFreke/smali/wiki/smalidea.Android Studio的安装,就是傻瓜式的安装,一路next下去.接下来笔者介绍一下笔者的软件环境:jdk 1.8,android studio 2.3,smalidea 0.0.5,测试的app是笔者写的一个demo. 2.动态调试Smal

通过模拟器和ida搭建Android动态调试环境的问题

这几天在学Android的native层逆向.在按照教程用ida搭建动态调试环境时,第一步是把android_server 放到手机里执行,但是在手机里可以,在genymotion模拟器上就提示 not executable :32-bit ELF file ,百度谷歌都没找到答案,然后试了试Android studio自带的模拟器 ,ABI选了x86  x86_64都不行,最后发现需要选择arm的ABI才可以....但是运行比较卡,因为我的电脑是x86的. 我就发现了这一个解决办法,不知道是不

Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap

Android漫游记(4)---.so文件动态调试一例

Android平台的动态调试一直以来是个困扰我等Coder的头疼问题,特别是对于本地的动态调试支持,可以说是"弱智"级别的,不知道Google的新版NDK和新出的Android Studio对这块支持如何,让我们拭目以待. 言归正传,我这里采用的是cygwin+ndk-gdb的调试模式,灵感来自于XDA的一篇博文(点击打开链接),平台和原文作者不同: 1.Win7 64 2.NDK r9d x86_64 3.Android 4.2.2 4.cygwin 64 5.IDA pro 6.1