要hook的目标
这是个frida教程的一个简单的apk.
URL: https://11x256.github.io/Frida-hooking-android-part-1/
Apk的源码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41package com.example.a11x256.frida_test;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.util.Base64;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Random;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class my_activity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_activity);
while (true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
fun(50,30);
}
}
void fun(int x , int y ){
Log.d("Sum" , String.valueOf(x+y));
}
}
我们要Hook fun这个方法。
新建类
1 | package com.example.michael.xposed_1; |
配置xposed
在如下的目录中新建如图所示的文件夹与文件。
xposed_init
中的内容为完整的实现hook的类名(前面为包名):1
com.example.michael.xposed_1.test
Build APK
安装、运行frida-test(这就是要hook的apk),查看logcat。
1 | 12-04 17:48:55.688 24664 24664 E Xposed : Xposed Hooked |