()
| 213 | const FUNC_EXCLUDE_SPAN = 0x400; |
| 214 | let funcsExcludedOnce = false; |
| 215 | function excludeFunctionsOnce() { |
| 216 | if (funcsExcludedOnce) return; |
| 217 | funcsExcludedOnce = true; |
| 218 | const names = CONFIG.excludeFunctions || []; |
| 219 | for (const name of names) { |
| 220 | let addr = null; |
| 221 | try { addr = Module.findGlobalExportByName(name); } catch (e) {} |
| 222 | if (!addr) { console.log(`${C.dim}[stalk] fn-exclude: ${name} not found${C.reset}`); continue; } |
| 223 | try { |
| 224 | Stalker.exclude({ base: addr, size: FUNC_EXCLUDE_SPAN }); |
| 225 | const r = resolve(addr); |
| 226 | console.log(`${C.dim}[stalk] fn-exclude: ${name} @ ${r.text} (+0x${FUNC_EXCLUDE_SPAN.toString(16)})${C.reset}`); |
| 227 | } catch (e) { |
| 228 | console.log(`${C.dim}[stalk] fn-exclude: ${name} failed: ${e}${C.reset}`); |
| 229 | } |
| 230 | } |
| 231 | } |
| 232 | |
| 233 | // --- coerce parsed Stalker values to NativePointer -------------------------- |
| 234 | function np(x) { |
no test coverage detected