frida / frida-rust

Frida Rust bindings
Other
177 stars 46 forks source link

Updated to frida 16 #65

Closed domenukk closed 1 year ago

domenukk commented 1 year ago

Frida 16 is out 🎉

domenukk commented 1 year ago

Oops, cargo test --features auto-download --features invocation-listener leads to a segfault, did the api change?

/edit: scratches head

❯ lldb /Users/dmnk/tmp/frida-rust/target/debug/deps/frida_sys-8f353a67bf92b5da 
(lldb) target create "/Users/dmnk/tmp/frida-rust/target/debug/deps/frida_sys-8f353a67bf92b5da"
Current executable set to '/Users/dmnk/tmp/frida-rust/target/debug/deps/frida_sys-8f353a67bf92b5da' (arm64).
(lldb) r
Process 58060 launched: '/Users/dmnk/tmp/frida-rust/target/debug/deps/frida_sys-8f353a67bf92b5da' (arm64)
Process 58060 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x0000000000000000
error: memory read failed for 0x0
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000000000000
    frame #1: 0x00000001001fc894 frida_sys-8f353a67bf92b5da`std::__1::__stdinbuf<char>::imbue(std::__1::locale const&) [inlined] std::__1::codecvt<char, char, __mbstate_t>::encoding(this=<unavailable>) const at __locale:939:16 [opt]
    frame #2: 0x00000001001fc888 frida_sys-8f353a67bf92b5da`std::__1::__stdinbuf<char>::imbue(this=0x0000000100432360, __loc=<unavailable>) at __std_stream:84:26 [opt]
    frame #3: 0x00000001001fc818 frida_sys-8f353a67bf92b5da`std::__1::__stdinbuf<char>::__stdinbuf(this=0x0000000100432360, __fp=0x00000001f0b1b848, __st=0x0000000100432430) at __std_stream:76:5 [opt]
    frame #4: 0x00000001001fc524 frida_sys-8f353a67bf92b5da`std::__1::DoIOSInit::DoIOSInit() [inlined] std::__1::__stdinbuf<char>::__stdinbuf(this=0x0000000100432360, __fp=<unavailable>, __st=<unavailable>) at __std_stream:75:1 [opt]
    frame #5: 0x00000001001fc50c frida_sys-8f353a67bf92b5da`std::__1::DoIOSInit::DoIOSInit(this=0x00000001004321d0) at iostream.cpp:111:59 [opt]
    frame #6: 0x00000001001fc778 frida_sys-8f353a67bf92b5da`std::__1::ios_base::Init::Init() [inlined] std::__1::DoIOSInit::DoIOSInit(this=0x00000001004321d0) at iostream.cpp:107:1 [opt]
    frame #7: 0x00000001001fc768 frida_sys-8f353a67bf92b5da`std::__1::ios_base::Init::Init(this=0x0000000100430e58) at iostream.cpp:152:22 [opt]
    frame #8: 0x000000010059df4c dyld`invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 164
    frame #9: 0x00000001005c7784 dyld`invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 340
    frame #10: 0x00000001005bded8 dyld`invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 528
    frame #11: 0x0000000100589f98 dyld`dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 168
    frame #12: 0x00000001005bdc80 dyld`dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 192
    frame #13: 0x00000001005c71d4 dyld`dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 516
    frame #14: 0x000000010059de8c dyld`dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 172
    frame #15: 0x000000010059e038 dyld`dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const + 216
    frame #16: 0x000000010059e104 dyld`dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 124
    frame #17: 0x00000001005b33ac dyld`dyld4::APIs::runAllInitializersForMain() + 312
    frame #18: 0x000000010058ddbc dyld`dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 3136
    frame #19: 0x000000010058d06c dyld`start + 488
domenukk commented 1 year ago

Ok might be related to missing symbols(?) At least, linking fails on Linux, with errors similar to the ones in #57 /edit: Could be libc++ related? does it need the clang libc++ or something?

oleavr commented 1 year ago

@domenukk Yay! These regressions are finally fixed as of 16.0.2, released last night 🙌

meme commented 1 year ago

Thanks! 9976bced744b0b4ad658f60825eee3083243cdbe