apk文件逆向-Smali文件调试

android studio 相关说明 | 2019-02-01 05:24

一、smali文件编译安装

在androidkiller环境下或在android studio(下面会分析smali文件在android studio下的调试方法)修改smali文件后,怎样将它重新组装成apk文件呢?(下图是androidkiller环境下的smali文件编辑)

使用androidkiller软件中的“android”菜单,如图

2、  第二步,选择设备

说明:如果你在第一章的环境配置中已设置好雷电模拟器为调试设备,那么请打开模拟器,然后在菜单栏处选择设备,我这儿是p23

安装好以后如图所示:

另外,记录下安装android的命令

在命令行状态(第一篇文章中提供的配置文件如果正确的话,就可以使用下面命令)

Adb kill-server

Adb start-server

Adb install apk路径及文件

有一个条件就是这个apk必须要有签名,如果没有就使用androidkiller文件产生一个签名,这个方法比较简单,看菜单操作就可以了。看下图

介绍下java下应用软件的使用,即.jar文件的使用,在命令行下使用,即:

Java XXX.jar –X 等

Smali调试方法

可以利用apktool.jar文件等调试,但是不好下断点,所以必须掌握在as中架起smali文件调试方法。

1、  在as的文件菜单中执行如下图所示命令,即:file->Open...

找到smali反编译的路径,如图所示:

2、  导入以后的as环境如图

3、  找到相应的smali文件下断点,如图所示

4、  设置远程调试

出现Run/Debug Configurations对话框,点击左上角 “+”号,如图所示

选择Remote

5、  修改remote中的端口为8700,host为 localhost, name自定义好了。如图:

6、  在模拟器中运行as中的对应的apk,如图所示

7、  打开monitor

在命令行中输入monitor命令,如图

打开以后如图所示:

8、  在左边视图,将光标移到要调试的android程序上。

9、  在as中点击debug...,选择刚才命名的remote,如图所示

这样就可以实现远程调试smali文件了,在相应的断点处就可以断下来了。