Android逆向笔记之AndroidKiller与Android Studio的使用

https://blog.csdn.net/a_1054280044/article/details/60465267
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a_1054280044/article/details/60465267

前言:书本中对crackme02.apk的破解是分析关键词进行破解的,而本文使用另外的Smali分析方式,对样本进行分析。
样本:《Android软件安全与逆向分析》crackme02.apk
工具:AndroidKiller v1.3.1.0(AK) && Android Studio2.2.3(AS)
语言:Java,Smali
目的:Smali代码分析之前的准备工作

一、样本反编译

利用AK 将样本反编译

二、在AS下打开反编译出来的文件夹

这里写图片描述

三、安装原始apk到AVD中

命令行:adb install (crackme02的文件路径)
注:如出现安装失败可能有如下原因

  1. AVD中存在同名apk。 解决:需卸载后重安装或命令行:adb -r install (crackme02)
  2. AVD无连接。 解决:adb kill-server , adb device
    安装并运行原始apk

    四、设置远程调试

    Run->Debug Configuration-> “+”->Remote Java Application
    修改HOST:localhost,Debug:8700

    五、使用adb以debug方式启动apk

    执行命令:Adb shell am start -D -n packageName/ActivityName
    其中packageName是主活动所在文件夹,ActivityName是主活动名称及其路径,可在AndroidManifest.xml中的android:name查看。这里写图片描述
    这里我们执行:
    Adb shell am start -D -n
    com.droider.crackme0201/com.droider.crackme0201.MainActivity
    如果debug模式执行成功会有如下图
    这里写图片描述

    六、准备调试程序

    1、启动Android Device Monitor.
    这里介绍两种方式启动,第一种方式在旧版本的AS中可行,但在我现在的AS版本却不行,似乎打开的文件夹不是app项目,就无法通过选项卡打开:
    (1)Tools->Android->Android Device Monitor
    (2)命令行中,进入 SDK tools/ directory 目录,输入下述命令:
    monitor
    参考:http://blog.csdn.net/qzw9231000/article/details/53115878
    2、选择对应的Device,这个Device有8700端口。
    这里写图片描述
    3、设置断点
    这里我们在MainActivity.smali的
    .method private checkSN(Ljava/lang/String;Ljava/lang/String;)Z
    下一行设置断点。
    这里写图片描述

七、开始调试程序!

debug!
这里写图片描述
发现程序停在了断点处,摁下f8一步步调试,并添加监视变量即可开始通过Smali代码对程序进行分析。

jpg改rar 

原文地址:https://www.cnblogs.com/kuangke/p/9524845.html