Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

经验

  • 找旧版,旧版可能没加固,没检测
  • 遇到uni-app勇敢改html/js文件,很多人没有防护意识的

抓某个进程的log

使用命令:adb logcat --pid=$(adb shell pidof -s hiddencamdetector.futureapps.com.hiddencamdetector)

加固

360加固

找到篇分析文章https://oacia.dev/360-jiagu/ 一看字数$6.2\times 10^4$还是先放一下慢慢看吧

使用工具DITOR

检测hook的加固

比如网易易盾

需要使用改了art源码的Android系统

有个提供在线服务的网站:https://nop.gs/

jadx打不开脱出的dex

checksum失败,修复dex头。

mt或https://github.com/luoyesiqiu/DexRepair

Xposed

修改final字段

直接用反射修改final字段会报

1
java.lang.IllegalAccessException: Cannot set public final  field

这个时候只需要使用

1
XposedHelpers.setBooleanField(value, "a", true)

看起来好蠢QwQ,折腾了半天呢

frida

启动指定包名的应用

1
frida -l xxx.js -U -f package_name"

启动 工作资料/指定用户 的应用

1
2
3
4
5
~: adb shell pm list users                                11/04/2024 11:13:08 PM
Users:
UserInfo{0:机主:4c13} running
UserInfo{10: 壶中界 :1030} running
UserInfo{95:DUAL_APP:20001010} running
1
frida -l xxx.js -U -f package_name --aux uid="(int)10"

frida获取不到类

首先看看是不是没有加Java.perform

查找所有dalvik.system.PathClassLoader,然后一个一个地用来尝试查找类,写出来大概是这样

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
Java.perform(function () {
Java.choose("dalvik.system.PathClassLoader", {
onMatch: function (instance) {
// console.log(instance)
// console.log(Java.ClassFactory)
var factory = Java.ClassFactory.get(instance)
try {
var myClass = factory.use("d.a.a.a.c.d$a$b")
var methodArr = myClass.class.getMethods();
for (var m in methodArr) {
console.log(methodArr[m]);
}
console.log(myClass["b"])
myClass["b"].implementation = function (a) {
console.log(`b is called`);
var stack = Java.use("java.lang.Exception").$new().getStackTrace();
for (var i = 0; i < stack.length; i++) {
console.log(stack[i].toString());
}
this["b"](a);
};
console.log("stop")
} catch (e) {
// console.log("next")
// console.log(e)
}
},
onComplete: function () {
// console.log("Done")
}
})
})

魔改Android导致的问题

scrcpy在小米的usb设置bug的情况下如何启用触摸

又名不登陆小米账号启用 MIUI 的 ADB 调试(安全设置)和 ADB 应用安装(需 Root)

1
2
3
4
5
setprop persist.security.adbinstall 1
setprop persist.security.adbinput 1
setprop persist.fastboot.enable 1

am force-stop com.miui.securitycenter

编辑/data/data/com.miui.securitycenter/shared_prefs/remote_provider_preferences.xml,加入

1
2
<boolean name="permcenter_install_intercept_enabled" value="false" />
<boolean name="security_adb_install_enable" value="true" />

UI相关

获取当前Activity

1
adb shell "dumpsys window | grep mCurrentFocus"

获取窗口堆栈

1
adb shell dumpsys window windows |grep "Window #"

整个Activity的详细信息

1
adb shell dumpsys activity [package_name]

评论