前言 很早就知道用Netbeans能够单步调试smali,一直拖到现在才真正的自己实现了一次~ 下面是详细步骤! 0×1 环境及工具 a.apktool_2.0.0b9 下载地址:http://connortumbleson.com/2014/02/apktool-2-0-0-beta-9-released/ b.Netbeans 6.8版本 下载地址:http://dlc.sun.com.edgesuite.net/netbeans/6.8/beta/bundles/netbeans-6.8b…
预备知识 DDMS Dalvik Debug Monitor Serivce,Dalvik调试监控服务,为Android SDK提供的一款拥有监控Dalvik虚拟机的调试软件,启动文件位于<Andorid SDK>/tools/monitor.bat(低版本的SDK为ddms.bat)     adb forward命令 用于创建一个端口映射,将本地端口(PC端口)映射到远程端口(手机端口),例如: adb forward tcp:8001 tcp:8002 之后PC端访问8001端口的数据包…
前面介绍了使用IDA动态调试smali,这种方法设置简单,不用重打包,用起来方便,但是如果变量类型设置错误则会马上退出调试,这是让人不爽的地方,而使用Android studio则不会.   0x01    工具①Android Studio最新版.②apktool尽量使用最新版的.③ideasmali插件.下载地址https://github.com/JesusFreke/smali/wiki/smalidea 0x02     具体步骤安装ideasmali插件,选择File->Settin…
原创,转载请注明出处. 一般java ide(如eclipse.idea)都可用来进行smali的动态调试,这里选择IDEA. 第1步:使用apktool反编译apk java -jar apktool_2.0.0rc4.jar d -d 123.apk -o out 注意: apktool的版本问题,有的版本没有-d选项 -d选项代表反编译出来后缀是.java而不是.smali,但也不是真正的java代码,这样是让IDEA识别出java文件然后使用JDWP进行远程调试,如下: 第2步:更改de…
工具: 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文件,安装成功后显示…
0x00    前言 之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了.后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持.idea是一款商业软件,懒得去找各种破解版,就想着用androidstudio来代替idea来达到动态调试的目的. 0x01    工具 ①Android Studio 1.5Preview,不清除低版本的…
Android Killer对应用进行反编译为smali代码,看看Manifest文件中application标签里面是否有android:debuggable="true",没有的话自己添加,然后重新安装在手机上 在工程管理器中找到smali文件夹,右键打开路径然后将smali文件夹复制到另一个自建的文件夹里(假设为 test),重命名为src 为Android Studio安装smaliidea插件 Android Killer打开应用,记住包名与入口点 进入 adb shell…
用ida6.6 调试android的so文件时经常会报SIGILL的错误,意思是指令非法.而且这种错误基本都是发生在系统函数内部,像我遇到过的mmap,fopen,fgets等等.在这些函数内部如果用F8单步跟很容易某条指令就触发异常了,就得终止调试.但是如果在异常指令之后下断点,然后直接F9过去,异常又不会发生.其实这都是Android SDK自带的模拟器的坑,可能在某些地方没处理好,之前在4.0.3上面简直就是各种坑,时不时就来一下SIGILL,但是还没办法解决.最近在stackoverfl…
1. 所需工具 IDA Pro 6.6. 安卓SDK工具 2. 模拟器设置 将ida所在目录的dbgsrv文件夹内的android_server文件push到模拟器中. 设置777属性 启动调试服务器 新开一个命令行,进行端口转发. 打开模拟器中需要调试的应用. 3. PC端配置 打开idag.exe.按下图选择: 填写下列信息: 点击"OK". 选择需要调试的进程,点击"ok",进入调试环境. 4. 调试过程 按Ctrl+S 点击search输入so库的名称. 他…
用了会AndBug,尽管挺强大的可是作为习惯了OD.EDB作为动态调试工具的人,自然有些不习惯,于是乎寻求新的动态调试解决方式.但大多数都是NetBeans + apktool.想着还得多下一个IDE就各种烦躁,还是去寻求Eclipse的组合吧. http://code.google.com/p/android-apktool/wiki/SmaliDebugging 找到apktool的官网,看到有能够实现动态调试. 能够在反编译和回编的时候通过设置參数给目标APK中的manifest文件里增加…