분석 대기중인 앱
2025년 5월 23일
rednote #
솔루션이 붙어있어서 앱이 frida를 붙이면 죽음 그냥 [‘kill’, ‘raise’, ‘abort’, ’exit’] 이걸로 출력해도 안뜨는데
이 스크립트로 kill 패밀리 다 출력해보니 출력이됨
1const targets = [
2 { n: "kill", ret: "int", args: ["int", "int"] },
3 { n: "tgkill", ret: "int", args: ["int", "int", "int"] },
4 { n: "tkill", ret: "int", args: ["int", "int"] },
5 { n: "pthread_kill", ret: "int", args: ["pointer", "int"] },
6 { n: "exit_group", ret: "void", args: ["int"] },
7 { n: "_exit", ret: "void", args: ["int"] },
8 { n: "exit", ret: "void", args: ["int"] },
9 { n: "syscall", ret: "long", args: ["long", "..."] }, // 직접 syscall 우회
10];
11
12targets.forEach(t => {
13 const p = Module.findExportByName("libc.so", t.n);
14 if (!p) return;
15 Interceptor.replace(p, new NativeCallback(function () {
16 console.log(`[BLOCK] ${t.n}`, JSON.stringify(Array.prototype.slice.call(arguments)));
17 if (t.n === "syscall") {
18 const nr = arguments[0].toInt32();
19 if (nr === 94 || nr === 129 || nr === 131) { // exit_group / kill / tgkill
20 console.log(" ↳ sys_exit / kill family blocked");
21 return 0;
22 }
23 // non-exit syscalls는 그냥 통과
24 return this.orig.apply(this, arguments);
25 }
26 return (t.ret === "void") ? undefined : 0;
27 }, t.ret, t.args));
28});
29
30[Pixel 6a::com.xingin.xhs ]-> [BLOCK] pthread_kill ["0x6e9d5ce770",34]
31[BLOCK] _exit [0]
32[BLOCK] kill [32493,15]
33[BLOCK] kill [32653,15]
부고장앱 #
악성 앱인데, 난독화가 엄청 심하게되어잇음 중국계 VMP/Bangcle 난독화