hook Dex의 클래스 스트리밍
DexFile dexFile = new DexFile("/data/user/0/com.test/.cache/classes.jar")
Enumeration classNames = dexFile.entries();
while (classNames.hasMoreElements()) {
final String className = classNames.nextElement();
log("hook :" + className);
}
Class> clazz = XposedHelpers.findClass(className, loadPackageParam.classLoader);
hook 구조 함수
XposedBridge.hookAllConstructors(clazz, new XC_MethodHook() {});
hook 방법
XposedBridge.hookMethod(method, new XC_MethodHook() {});
try {
Object[] args = param.args;
if (args != null) {
Method method = (Method) param.method;
Log.e(TAG, " :" + args.length + "
:" + method.toGenericString());
int i = 0;
StringBuilder sb = new StringBuilder();
for (Object obj : args) {
i++;
String value;
if (obj == null) {
value = "is null";
} else if (obj instanceof Context) {
value = ((Context) obj).getClass().getName();
} else if (obj instanceof Byte[]) {
value = new String((byte[]) obj,
"utf-8") + "
byte:" + Arrays
.toString((byte[]) obj);
} else if (obj instanceof Integer || obj instanceof Long || obj instanceof Boolean || obj instanceof String
|| obj instanceof Double || obj instanceof Byte || obj instanceof Short || obj instanceof Character
|| obj instanceof Float) {
value = String.valueOf(obj);
} else {
value = obj.getClass().getName();
}
sb.append(" ").append(i).append(":").append(value).append("
");
}
Log.e(TAG, " :" + sb.toString());
}
} catch (Exception e) {
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.