existing code (and glib) uses gchar, so cast from uchar to char in generate-runtime.py: if b >= 128: b -= 256
and
../bindings/gumjs/gumv8script.cpp: In function ‘gboolean gum_v8_script_create_context(GumV8Script*, GError**)’:
../bindings/gumjs/gumv8script.cpp:513:43: error: ‘gumjs_frida_source_map’ was not declared in this scope; did you mean ‘gumjs_frida_source_code’?
513 | _gum_v8_core_init (&self->core, self, gumjs_frida_source_map,
| ^~~~~~~~~~~~~~~~~~~~~~
| gumjs_frida_source_code
→ define gumjs_frida_source_map as empty string
NULL would be prettier but does not work
fixed
In file included from ../bindings/gumjs/gumv8scriptbackend.cpp:12:
../bindings/gumjs/gumv8platform.h:63:7: error: ‘ThreadingBackend’ in namespace ‘v8’ does not name a type
63 | v8::ThreadingBackend * GetThreadingBackend () override;
| ^~~~~~~~~~~~~~~~
[1/82] Compiling C object bindings/gumjs/libfrida-gumjs-1.0.so.p/gumcmodule.c.o
../bindings/gumjs/gumcmodule.c: In function ‘gum_tcc_cmodule_new’:
../bindings/gumjs/gumcmodule.c:453:3: warning: implicit declaration of function ‘tcc_set_cpp_load_func’; did you mean ‘tcc_set_error_func’? [-Wimplicit-function-declaration]
453 | tcc_set_cpp_load_func (state, cmodule, gum_tcc_cmodule_load_header);
| ^~~~~~~~~~~~~~~~~~~~~
trying to build with v8
in bindings/gumjs/gumv8script-runtime.h
generated by bindings/gumjs/generate-runtime.py
240,159,147,166
=b'\xf0\x9f\x93\xa6'
= utf-8f09f93a6
= 📦 = Unicode Character 'PACKAGE'existing code (and glib) uses gchar, so cast from uchar to char in generate-runtime.py: if b >= 128: b -= 256
and
→ define
gumjs_frida_source_map
as empty string NULL would be prettier but does not workfixed
problem: i was using
libv8-10.8.25
fromnodejs-19.4.0
fix: use https://github.com/frida/v8fix: use https://github.com/frida/tinycc
fix: use https://github.com/frida/tinycc