분석 대기중인 앱

분석 대기중인 앱

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 난독화

comments powered by Disqus