| 418 | function clear() { console.log("\x1b[3J\x1b[H\x1b[2J"); } |
| 419 | |
| 420 | function help() { |
| 421 | const b = (s) => `${C.green}${s}${C.reset}`, d = (s) => `${C.dim}${s}${C.reset}`; |
| 422 | console.log(` |
| 423 | ${C.yellow}=== thread-stalker commands ===${C.reset} |
| 424 | ${b("stalking()")} ${d("list threads currently being stalked")} |
| 425 | ${b("stopAll()")} ${d("unfollow every stalked thread")} |
| 426 | ${b("clear()")} ${d("clear the screen")} |
| 427 | ${b("help()")} ${d("show this help")} |
| 428 | |
| 429 | ${d("Config is at the TOP of the script (CONFIG). Set targets to the entry-routine")} |
| 430 | ${d('token from thread-monitor, e.g. "libfk.so", "libfk.so+0x950bb8", "0x950bb8@libfk.so".')} |
| 431 | ${d("Log tags: [stalk+] begin [stalk-] end CALL/BLOCK/RET/EXEC/COMPILE per event")} |
| 432 | `); |
| 433 | } |
| 434 | |
| 435 | globalThis.stalking = stalking; |
| 436 | globalThis.stopAll = stopAll; |