Android工具及其使用

常用的android工具安装以及apktool反编译,ddms,jeb2使用等

下载工具

adb

直接解压。配置环境变量
然后在cmd下输入adb(下面就是成功):

1
2
3
4
5
6
7
8
9
10
11
12
13
Android Debug Bridge version 1.0.39
Version 0.0.1-4500957
Installed as G:\job\android\tools\platform-tools-latest-windows\adb.exe
global options:
-a listen on all network interfaces, not just localhost
-d use USB device (error if multiple devices connected)
-e use TCP/IP device (error if multiple TCP/IP devices available)
-s SERIAL use device with given serial (overrides $ANDROID_SERIAL)
-t ID use device with given transport id
-H name of adb server host [default=localhost]
-P port of adb server [default=5037]
-L SOCKET listen on given socket for adb server [default=tcp:localhost:5037]

这里以夜神模拟器设置

连接

1
2
3
4
5
6
7
8
9
>adb devices
List of devices attached
>adb connect 127.0.0.1:62001
connected to 127.0.0.1:62001
>adb devices
List of devices attached
127.0.0.1:62001 device
>adb shell
root@android:/ # ls

连接成功

dex2jar与jd-gui

dex2jar可以直接获取apk的java源码,jd-gui可以直接获取jar的java源码

apktool反编译

apk反编译

1
java -jar apktool.jar d demo.apk

之后对smali进行修改,然后对修改好的进行打包。

1
java -jar apktool.jar b -d demo -o debug.apk

这里一般apk都不能安装(如果这里能按装apk,就不用签名啦),接着进行签名。生成自己的签名文件,

1
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

各个参数解释如下:

-genkey 产生证书文件
-alias 产生别名
-keystore 指定密钥库的.keystore文件中
-keyalg 指定密钥的算法,这里指定为RSA(非对称密钥算法)
-validity 为证书有效天数,这里我们写的是20000天

这里生成android.keystore签名,进行apk签名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: test
您的组织单位名称是什么?
[Unknown]: test
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的州或省份名称是什么?
[Unknown]:
该单位的两字母国家代码是什么
[Unknown]:
CN=test, OU=test, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 正确吗?
[否]: y
输入<android.keystore>的主密码
(如果和 keystore 密码相同,按回车):

签名

1
jarsigner -verbose -keystore android.keystore Crackme1_modify.apk android.keystore

在安装apk。安装成功

ddms(Dalvik Debug Monitor Service)

DDMS的作用它提供截屏,查看线程和堆的信息,logcat,进程,广播状态信息,模拟来电呼叫和短信,虚拟地理坐标等等。

运行ddms.bat

会出现一个命令行界面和图形化界面

1
2
The standalone version of DDMS is deprecated.
Please use Android Device Monitor (monitor.bat) instead.

这是打开模拟器,然后命令行:

1
2
3
4
5
6
7
The standalone version of DDMS is deprecated.
Please use Android Device Monitor (monitor.bat) instead.
06:38:13 W/DeviceMonitor: Adb rejected connection to client '745': closed
06:38:13 W/DeviceMonitor: Adb rejected connection to client '745': closed
06:38:13 W/DeviceMonitor: Adb rejected connection to client '762': closed
06:38:13 W/DeviceMonitor: Adb rejected connection to client '762': closed
06:38:26 W/EmulatorConsole: Failed to find emulator port from serial: 127.0.0.1:62001

这就显示连接上模拟器,在smali中添加打印函数

1
2
const-string v3,"TEST"
invoke-static{v3,v6},Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

是函数log.d(“TEST”,v6)。模拟器中运行apk,结果如图[这是一个test]:

jeb2动态调试apk

下载jeb

Donate
-------------本文结束感谢您的阅读-------------