各位读者你们好啊,又是打工的一天!

今天我们主要学习一下 objection 的一些功能实现,更好的熟悉 frida 语法。
列出四大组件
Activity
export const getActivities = (): Promise<string[]> => {
return wrapJavaPerform(() => {
const packageManager: PackageManager = Java.use("android.content.pm.PackageManager");
const GET_ACTIVITIES = packageManager.GET_ACTIVITIES.value;
const context = getApplicationContext();
return Array.prototype.concat(context.getPackageManager()
.getPackageInfo(context.getPackageName(), GET_ACTIVITIES).activities.value.map((activityInfo) => {
return activityInfo.name.value;
}),
);
});
};
这里面有些是 typescript 的语法,有些是 android 的api,刚开始看起来可能比较蛋疼。
我们先看 android 里面是如何获取一个 app 里面的所有 activity 的:
public void getAllActivity() {
PackageManager packageManager = getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), PackageManager.GET_ACTIVITIES);
//所有的Activity
ActivityInfo[] activities = packageInfo.activities;
}
对比可以看出,objection 就是直接使用了 Android 提供的 api 来实现获取所有 activity 的。然后用 typescript 的 api 将结果处理了一下。
Service
service 的话要比较麻烦,因为并没有直接提供方法。android apk 在安装的时候,清单文件已经被解析过了,所

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



