worawit / blutter

Flutter Mobile Application Reverse Engineering Tool
MIT License
752 stars 128 forks source link

mac os error error: no member named 'build_nongeneric_method_extractor_code' in 'dart::ObjectStore' #66

Open rerefrancd opened 1 month ago

rerefrancd commented 1 month ago

Dart version: 3.4.0, Snapshot: d20a1be77c3d3c41b2a5accaee1ce549, Target: android arm64 flags: product no-code_comments no-dwarf_stack_traces_mode no-lazy_dispatchers dedup_instructions no-tsan no-asserts arm64 android compressed-pointers null-safety -- Configuring done (0.1s) -- Generating done (0.1s) -- Build files have been written to: /Users/peter.jiang/Virtual Machines.localized/work/github/blutter/build/blutter_dartvm3.4.0_android_arm64 [1/2] Building CXX object CMakeFiles/blutter_dartvm3.4.0_android_arm64.dir/src/DartApp.cpp.o FAILED: CMakeFiles/blutter_dartvm3.4.0_android_arm64.dir/src/DartApp.cpp.o /usr/local/opt/llvm@16/bin/clang++ -DDART_COMPRESSED_POINTERS -DDART_PRECOMPILED_RUNTIME -DDART_TARGET_OS_ANDROID -DDART_TARGET_OS_WINDOWS_UWP -DEXCLUDE_CFE_AND_KERNEL_PLATFORM -DFRIDA_TEMPLATE_DIR="\"/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/scripts\"" -DHAS_RECORD_TYPE -DNDEBUG -DPRODUCT -DTARGET_ARCH_ARM64 -DU_USING_ICU_NAMESPACE=0 -D_HAS_EXCEPTIONS=0 -I/usr/local/Cellar/capstone/5.0.1/include/capstone -isystem "/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/packages/include/dartvm3.4.0" -O3 -DNDEBUG -std=c++20 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -fexperimental-library -O3 -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -fno-omit-frame-pointer -Winvalid-pch -Xclang -include-pch -Xclang "/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/build/blutter_dartvm3.4.0_android_arm64/CMakeFiles/blutter_dartvm3.4.0_android_arm64.dir/cmake_pch.hxx.pch" -Xclang -include -Xclang "/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/build/blutter_dartvm3.4.0_android_arm64/CMakeFiles/blutter_dartvm3.4.0_android_arm64.dir/cmake_pch.hxx" -MD -MT CMakeFiles/blutter_dartvm3.4.0_android_arm64.dir/src/DartApp.cpp.o -MF CMakeFiles/blutter_dartvm3.4.0_android_arm64.dir/src/DartApp.cpp.o.d -o CMakeFiles/blutter_dartvm3.4.0_android_arm64.dir/src/DartApp.cpp.o -c '/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter/src/DartApp.cpp' /Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter/src/DartApp.cpp:312:5: error: no member named 'build_nongeneric_method_extractor_code' in 'dart::ObjectStore' DO(build_nongeneric_method_extractor_code, BuildNonGenericMethodExtractor);


/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter/src/DartApp.cpp:305:15: note: expanded from macro 'DO'
        ptr = store->member(); \
              ~~~~~  ^
/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter/src/DartApp.cpp:313:5: error: no member named 'build_generic_method_extractor_code' in 'dart::ObjectStore'
        DO(build_generic_method_extractor_code, BuildGenericMethodExtractor);
        ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter/src/DartApp.cpp:305:15: note: expanded from macro 'DO'
        ptr = store->member(); \
              ~~~~~  ^
2 errors generated.
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter.py", line 168, in <module>
    main(args.indir, args.outdir, args.rebuild, args.vs_sln, args.no_analysis)
  File "/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter.py", line 149, in main
    cmake_blutter(blutter_name, dartlib_name, name_suffix, macros)
  File "/Users/peter.jiang/Virtual Machines.localized/work/github/blutter/blutter.py", line 92, in cmake_blutter
    subprocess.run([NINJA_CMD], cwd=builddir, check=True)
  File "/usr/local/Cellar/python@3.12/3.12.3/Frameworks/Python.framework/Versions/3.12/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja']' returned non-zero exit status 1.
mragonias commented 1 month ago

Same error on Linux. Problem on dart 3.4.0

i shared an example lib https://www.mediafire.com/file/jc4dr8j11kv4fh7/arm8.zip/file

AbhiTheModder commented 1 month ago

BuildGenericMethodExtractor and BuildNonGenericMethodExtractor have been completely removed in v3.4.0, also a new addition of nullptr

For now just remove them from DartApp.cpp [ line 312 & 313 ] and you'll be able to do your work

mragonias commented 1 month ago

Thanks Abhi :)

worawit commented 1 month ago

Fixed in latest commit