mac编译r2frida问题解决
在编译 https://github.com/nowsecure/r2frida 时报错:
{"category": "error","code": 7006,"file": {"path": "/Users/xxx/Documents/Library/r2frida/src/agent/lib/info/index.ts","line": 494,"character": 21},"text": "Parameter "m" implicitly has an "any" type."
},{"category": "error","code": 2304,"file": {"path": "/Users/xxx/.local/share/radare2/r2pm/git/r2frida/src/agent/lib/info/index.ts","line": 436,"character": 27},"text": "Cannot find name "bases"."}
]
ERROR: compilation failed
test -s src/_agent.js || rm -f src/_agent.js
test -s src/_agent.js || ( rm -f src/_agent.js && make src/_agent.js )
r2pm -r src/r2frida-compile -H src/_agent.h -o src/_agent.js -Sc src/agent/index.ts
打开agent.js代码,看了一下 :
494行 m为Module对象,显示声明一下: 将 (m => here.compare 改为 ((m: Module) => here.compare ...
436行 bases发现没有声明这个变量,于是声明一下, 改为 let bases
注意替换m时,需要将文件里的所有用到这种回调的m参数全替换,
什么?你连批量替换都不会?转行吧,老铁。