• AndroidStudio+ideasmali动态调试smali汇编


    0x00    前言

    之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试smali真的像鸡肋一样,各种不爽,遇到混淆过的java代码就欲哭无泪了。后来知道IDEA用一款插件也可以实现smali的动态调试,但是只有14.1之后的版本才支持。idea是一款商业软件,懒得去找各种破解版,就想着用androidstudio来代替idea来达到动态调试的目的。

    0x01    工具

    ①Android Studio 1.5Preview,不清除低版本的是否支持smali的调试

    ②apktool,尽量使用最新版的。

    ③ideasmali插件。下载地址

    0x02     具体步骤

             安装ideasmali插件,File->Settings->Plugins,安装之前下载的ideasmali插件。

                  

        反编译apk 

        

        以调试状态启动app,并转发8700端口  [app_pid]

        

        

        

                

                记住这时候需要将DDMS关掉,不然会出现错误

                

        使用AS导入之前反编译的目录,这里选择debugsmali文件夹就可以了。

               

        然后选择Create project from existing sources,之后一直选择next。

               

        对之前反编译的debugsmali/src文件夹右键-->Make Directory As --->Source Root

            

             配置远程调试的选项,选择Run-->Edit Configurations:

                

              增加一个Remote调试的调试选项,端口选择:8700

               

           之后选择File-->Project Structure 配置JDK

               

                

            下好断点之后Run-->Debug'smali',这里的smali是我们之前配置好的调试选项。  

                 

                运行起来之后就可以单步执行,查看寄存器的值,慢慢调试了。

                 

  • 相关阅读:
    从尾到头打印链表-Python
    上台阶三种实现(斐波那契数列)-Python
    Windows/Linux安装python2.7,pycharm和pandas——《利用Python进行数据分析》
    部署(Django )
    第一个Django模型
    第一个Django Project(创建一个简单的博客)
    几个算法基础
    回文序列—Palindrome
    学习笔记:CentOS7学习之二十:shell脚本的基础
    学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理
  • 原文地址:https://www.cnblogs.com/lanrenxinxin/p/4891424.html
Copyright © 2020-2023  润新知