标签:min span owa 操作 显示 stat jar params assets
https://github.com/skylot/jadx
jadx是一个java写的gui工具,可以直接查看apk和dex的反编译后的java代码,支持直接拖拽apk到gui工具查看。如果apk过大直接拖进去可能会导致界面卡死,可以先解压成dex文件,再把dex文件拖进去查看。
brew install jadx
// 将demo.apk直接反编译成java源文件到dir目录
jadx -d dir demo.apk
https://ibotpeaches.github.io/Apktool/
apktool是一个Android反编译工具,可以将apk反编译成smail。
mac安装教程:
// 将xx.apk反编译,输出到kk文件夹。d是decode的意思。
apktool d xx.apk -o kk
可选额外参数
// 将kk文件夹回编译成x.apk。b是build的意思。
apktool b kk -o x.apk
https://repo.xposed.info/module/de.robv.android.xposed.installer
xposed是一个不需要修改Apk的情况下可以修改系统或者Apk程序的框架。
在已root设备上安装xposed框架,没有root设备的可以用MuMu模拟器代替。
在快盘链接中下载模拟器安装包和XposedInstaller_3.1.5.apk。安装好模拟器并在设置中开启root权限后重启,安装XposedInstaller_3.1.5.apk,当出现xposed框架已激活就代表安装成功了。
1.依赖xposed
compileOnly ‘de.robv.android.xposed:api:82‘
compileOnly ‘de.robv.android.xposed:api:82:sources‘
2.AndroidManifest.xml中application节点内配置meta-data
<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposeddescription"
android:value="框架描述" />
<meta-data
android:name="xposedminversion"
android:value="82" />
3.assets文件夹中新建xposed_init文件并指定入口类(全类名)
4.编写Hook入口类代码
public class MainHook implements IXposedHookLoadPackage {
?
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
if (!lpparam.processName.equals("com.test.kwaidemo")) {
return;
}
XposedHelpers.findAndHookMethod(
"com.test.kwaidemo.MainActivity",
lpparam.classLoader,
"Login",
String.class, String.class,
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
}
?
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
?
}
}
);
}
}
被Hook类代码如下
package com.test.kwaidemo;
public class MainActivity {
private void Login(String username, String password) {
// 具体的登录逻辑
}
}
XposedHelpers.findAndHookMethod() XposedHelpers.findClassIfExists() XposedHelpers.getObjectField() XposedHelpers.setObjectField()
android/sdk/tools目录下,高版本jdk打开后会白屏卡死,需要低版本jdk。
可以查看某个app的某个操作的方法调用链(只能在root设备上查看)。以模拟器为例,打开monitor之后,启动模拟器,如果侧边栏并没有显示进程可以使用以下命令重启adb。
adb kill-server && adb server
标签:min span owa 操作 显示 stat jar params assets
原文地址:https://www.cnblogs.com/liunx1109/p/14685749.html