Open thushw opened 5 months ago
This looks like a segfault on the typescript compiler of the frida sdk. Are you on x64?
Yes, it is a 6-Core Intel Core i7
Try running with lldb — src/r2frida-compile -H src/_agent.h -o src/_agent.js -Sc src/agent/index.ts
Maybe you need to “r2pm -r sh” to set the proper environment. Will be useful to have a backtrace of the crash
It might be my compiler, the lldb
command unfortunately did not work :
This is the full log of the build failure :
r2pm -ci r2frida
INFO: Cleaning r2frida
INFO: Using r2-5.9.3 and r2pm-5.9.3
INFO: Cleaning r2frida
INFO: git clone --depth=10 --recursive https://github.com/nowsecure/r2frida /Users/thushara/.local/share/radare2/r2pm/git//r2frida
Cloning into '/Users/thushara/.local/share/radare2/r2pm/git//r2frida'...
remote: Enumerating objects: 185, done.
remote: Counting objects: 100% (185/185), done.
remote: Compressing objects: 100% (145/145), done.
remote: Total 185 (delta 32), reused 123 (delta 25), pack-reused 0
Receiving objects: 100% (185/185), 207.02 KiB | 5.45 MiB/s, done.
Resolving deltas: 100% (32/32), done.
INFO: Starting install for r2frida
INFO: SCRIPT=<<EOF
INFO: unset CFLAGS
unset LDFLAGS
./configure || R2PM_FAIL "Install fail"
if [ -n "${FRIDA_VERSION}" ]; then
${MAKE} frida_version=${FRIDA_VERSION} || R2PM_FAIL "Build failed"
else
${MAKE} || R2PM_FAIL "Build failed"
fi
if [ "$GLOBAL" = 1 ]; then
${R2PM_SUDO} ${MAKE} install || R2PM_FAIL "Install fail"
else
${MAKE} user-install R2_PLUGDIR="${R2PM_PLUGDIR}" || R2PM_FAIL "Install fail"
fi
INFO: EOF
checking build system type... x86_64-unknown-darwin
checking host system type... x86_64-unknown-darwin
checking target system type... x86_64-unknown-darwin
checking for working directories... current
using prefix '/usr/local'
checking for pkg-config... /usr/local/bin/pkg-config
checking for c compiler... gcc
checking exec r2 -v... ok
Using PKGCONFIG: /usr/local/bin/pkg-config
checking pkg-config flags for r_core... yes
checking for curl... /usr/bin/curl
checking for wget... /usr/local/bin/wget
checking for git... /usr/bin/git
checking for xz... /usr/local/bin/xz
creating ./config.mk
creating ./config.h
cleaning temporally files... done
Final report:
- R2_VERSION = radare2 5.9.3 32155 @ darwin-x86-64
birth: git.5.9.2-12-g42a463096c 2024-05-23__10:17:17
commit: 42a463096ca89d33f6b1be77cfc066aee1e17dd4
options: gpl -O2 cs:5 cl:2 make
rm -f ext/frida
mkdir -p ext/frida-macos-16.2.5/_
rm -f frida-sdk.tar.xz
wget -c -O frida-sdk.tar.xz -c https://github.com/frida/frida/releases/download/16.2.5/frida-core-devkit-16.2.5-macos-x86_64.tar.xz
--2024-05-24 09:18:27-- https://github.com/frida/frida/releases/download/16.2.5/frida-core-devkit-16.2.5-macos-x86_64.tar.xz
Resolving github.com (github.com)... 140.82.116.4
Connecting to github.com (github.com)|140.82.116.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/9405122/947881ba-b165-4cbc-ab7f-e4c6f600776f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240524%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240524T161827Z&X-Amz-Expires=300&X-Amz-Signature=5d973c1c19c171c6f224fa83d027696b2ccfd86dadbaa2b34df72f184ae2a00b&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9405122&response-content-disposition=attachment%3B%20filename%3Dfrida-core-devkit-16.2.5-macos-x86_64.tar.xz&response-content-type=application%2Foctet-stream [following]
--2024-05-24 09:18:27-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/9405122/947881ba-b165-4cbc-ab7f-e4c6f600776f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240524%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240524T161827Z&X-Amz-Expires=300&X-Amz-Signature=5d973c1c19c171c6f224fa83d027696b2ccfd86dadbaa2b34df72f184ae2a00b&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9405122&response-content-disposition=attachment%3B%20filename%3Dfrida-core-devkit-16.2.5-macos-x86_64.tar.xz&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 32035044 (31M) [application/octet-stream]
Saving to: ‘frida-sdk.tar.xz’
frida-sdk.tar.xz 100%[=====================================================>] 30.55M 24.4MB/s in 1.3s
2024-05-24 09:18:29 (24.4 MB/s) - ‘frida-sdk.tar.xz’ saved [32035044/32035044]
tar xJvf frida-sdk.tar.xz -C ext/frida-macos-16.2.5/_
x ./
x ./frida-core.h
x ./libfrida-core.a
x ./frida-core-example.c
mv ext/frida-macos-16.2.5/_/* ext/frida-macos-16.2.5
rmdir ext/frida-macos-16.2.5/_
#mv ext/frida ext/frida-macos-16.2.5
cd ext && ln -fs frida-macos-16.2.5 frida
[ "`readlink ext/frida`" = frida-macos-16.2.5 ] || \
(cd ext && rm -f frida ; ln -fs frida-macos-16.2.5 frida)
rm -f src/_agent*
make src/r2frida-compile
cc -g src/r2frida-compile.c -Iext/frida \
-I/usr/local/include/libr -L/usr/local/lib -lr_util -ldl ext/frida/libfrida-core.a -framework Foundation -lbsm -framework AppKit -lresolv \
-DFRIDA_VERSION_STRING=\"16.2.5\" -DFRIDA_VERSION_MAJOR=16 -DR2FRIDA_VERSION_STRING=\"5.9.2\" -fPIC -Wall -Werror -g -I/usr/local/include/libr -DWANT_SESSION_DEBUGGER=1 -fPIC -g -L/usr/local/lib -lr_core -lm -lr_config -ldl -lr_debug -ldl -lr_bin -ldl -lr_lang -ldl -lr_anal -ldl -lr_bp -ldl -lr_egg -ldl -lr_asm -ldl -lr_flag -ldl -lr_search -ldl -lr_syscall -ldl -lr_fs -ldl -lr_magic -ldl -lr_arch -ldl -lr_esil -ldl -lr_reg -ldl -lr_io -ldl -lr_socket -ldl -lr_cons -ldl -lr_crypto -ldl -lr_util -ldl -pthread -Iext/frida -o src/r2frida-compile
make io_frida.dylib
r2pm -r src/r2frida-compile -H src/_agent.h -o src/_agent.js -Sc src/agent/index.ts
make[1]: *** [src/_agent.js] Error 11
make: *** [all] Error 2
Build failed
mkdir -p /"/Users/thushara/.local/share/radare2/plugins"
mkdir -p /"/Users/thushara/.local/share/radare2/prefix/bin"
rm -f "//Users/thushara/.local/share/radare2/plugins/io_frida.dylib"
cp -f io_frida.dylib* /"/Users/thushara/.local/share/radare2/plugins"
cp: io_frida.dylib*: No such file or directory
make: *** [user-install] Error 1
Install fail
(thushara) thushara@thusharas-MBP rooted-phone $
Its a double dash “lldb — ..” instead of “lldb - ..”
Many thanks for helping me through this! lldb
drops me to a shell like this, where I typed run
(I figure this is a debugger) It looked like it worked (exit code 0)
Can you try again? those segfaults in r2frida-compile are usually bugs in Frida, and we use to suffer them on Android. but we cant do much from r2frida to address them apart from using a precompiled agent by installing the r2frida-precompiled
package
I'm on MacOS Monterey (12.2.1) and hit an issue trying to build the plugin with
r2pm -ci r2frida
. Could you help?