{"arch":"arm64","build_provenance":null,"call_graph":{"calls":{"4294977480":[{"is_tail_call":false,"symbol":"puts","target_va":4294978540},{"is_tail_call":false,"symbol":"printf","target_va":4294978516},{"is_tail_call":false,"symbol":"av_hash_final_hex","target_va":4294978456},{"is_tail_call":false,"symbol":"printf","target_va":4294978516},{"is_tail_call":false,"symbol":"av_hash_final_hex","target_va":4294978456},{"is_tail_call":false,"symbol":"putchar","target_va":4294978528},{"is_tail_call":false,"symbol":"av_hash_get_name","target_va":4294978480},{"is_tail_call":false,"symbol":"__chkstk_darwin","target_va":4294978384},{"is_tail_call":false,"symbol":"check","target_va":4294977820},{"is_tail_call":false,"symbol":"printf","target_va":4294978516},{"is_tail_call":false,"symbol":"check","target_va":4294977820},{"is_tail_call":false,"symbol":"__stack_chk_guard","target_va":4294978420},{"is_tail_call":false,"symbol":"av_hash_names","target_va":4294978360},{"is_tail_call":false,"symbol":"strerror","target_va":4294978564},{"is_tail_call":false,"symbol":"puts","target_va":4294978540}],"4294977820":[{"is_tail_call":false,"symbol":"open","target_va":4294978504},{"is_tail_call":false,"symbol":"av_hash_alloc","target_va":4294978432},{"is_tail_call":false,"symbol":"av_hash_names","target_va":4294978360},{"is_tail_call":false,"symbol":"strerror","target_va":4294978564},{"is_tail_call":false,"symbol":"printf","target_va":4294978516},{"is_tail_call":false,"symbol":"av_hash_final_b64","target_va":4294978444},{"is_tail_call":false,"symbol":"read","target_va":4294978552},{"is_tail_call":false,"symbol":"av_hash_freep","target_va":4294978468},{"is_tail_call":false,"symbol":"av_hash_names","target_va":4294978360},{"is_tail_call":false,"symbol":"close","target_va":4294978492},{"is_tail_call":false,"symbol":"finish","target_va":4294978196},{"is_tail_call":false,"symbol":"strerror","target_va":4294978564},{"is_tail_call":false,"symbol":"printf","target_va":4294978516},{"is_tail_call":false,"symbol":"printf","target_va":4294978516},{"is_tail_call":false,"symbol":"putchar","target_va":4294978528}],"4294978196":[{"is_tail_call":false,"symbol":"av_hash_alloc","target_va":4294978432},{"is_tail_call":false,"symbol":"printf","target_va":4294978516},{"is_tail_call":false,"symbol":"__error","target_va":4294978396},{"is_tail_call":false,"symbol":"__stack_chk_fail","target_va":4294978408},{"is_tail_call":false,"symbol":"printf","target_va":4294978516}]},"data_xrefs":{"by_data":{"4294975488":[4294977820],"4294975489":[4294977480],"4294975496":[4294977480,4294977820],"4294975504":[4294977480,4294977820],"4294975508":[4294978196],"4294975512":[4294977820],"4294975520":[4294977820],"4294975640":[4294978196],"4294975680":[4294978196],"4294978576":[4294977480],"4294978581":[4294977480],"4294978604":[4294977480],"4294978631":[4294977480],"4294978635":[4294977820],"4294978655":[4294977820],"4294978672":[4294977820],"4294978677":[4294978196],"4294978681":[4294978196],"4294978688":[4294978196],"4294978693":[4294977480],"4294983680":[4294977820,4294978196],"4294983752":[4294977820],"4294983776":[4294977820,4294978196],"4295000064":[4294977480,4294978196],"4295000072":[4294977480,4294977820,4294978196],"4295000080":[4294977480],"4295000096":[4294977820],"4295032824":[4294977820]},"by_function":{"4294977480":[{"data_va":4294978693,"insn_va":4294977512,"kind":"CString","value":"usage: ffhash [b64:]algorithm [input]..."},{"data_va":4294978604,"insn_va":4294977524,"kind":"CString","value":"Supported hash algorithms:"},{"data_va":4294978631,"insn_va":4294977552,"kind":"CString","value":" %s"},{"data_va":4294975489,"insn_va":4294977576,"kind":"Global","value":null},{"data_va":4294978576,"insn_va":4294977620,"kind":"CString","value":"b64:"},{"data_va":4294975496,"insn_va":4294977624,"kind":"Global","value":null},{"data_va":4294975496,"insn_va":4294977640,"kind":"Global","value":null},{"data_va":4295000072,"insn_va":4294977648,"kind":"Global","value":null},{"data_va":4294975504,"insn_va":4294977676,"kind":"Global","value":null},{"data_va":4295000072,"insn_va":4294977724,"kind":"Global","value":null},{"data_va":4294978581,"insn_va":4294977736,"kind":"CString","value":"Invalid hash type: %s\n"},{"data_va":4295000072,"insn_va":4294977764,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294977780,"kind":"Global","value":null},{"data_va":4295000080,"insn_va":4294977800,"kind":"Global","value":null}],"4294977820":[{"data_va":4294983752,"insn_va":4294977844,"kind":"Global","value":null},{"data_va":4294983776,"insn_va":4294977868,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294977872,"kind":"Global","value":null},{"data_va":4295000072,"insn_va":4294977920,"kind":"Global","value":null},{"data_va":4294978635,"insn_va":4294977952,"kind":"CString","value":"%s=OPEN-FAILED: %s:"},{"data_va":4295000072,"insn_va":4294977976,"kind":"Global","value":null},{"data_va":4294975512,"insn_va":4294977984,"kind":"Global","value":null},{"data_va":4295000072,"insn_va":4294978008,"kind":"Global","value":null},{"data_va":4294975512,"insn_va":4294978012,"kind":"Global","value":null},{"data_va":4294975488,"insn_va":4294978036,"kind":"Global","value":null},{"data_va":4294978655,"insn_va":4294978068,"kind":"CString","value":"+READ-FAILED: %s"},{"data_va":4294978672,"insn_va":4294978092,"kind":"CString","value":" *%s"},{"data_va":4294975496,"insn_va":4294978108,"kind":"Global","value":null},{"data_va":4295000096,"insn_va":4294978112,"kind":"Global","value":null},{"data_va":4295032824,"insn_va":4294978116,"kind":"Global","value":null},{"data_va":4294983776,"insn_va":4294978124,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294978128,"kind":"Global","value":null},{"data_va":4294975504,"insn_va":4294978144,"kind":"Global","value":null},{"data_va":4294975520,"insn_va":4294978148,"kind":"Global","value":null}],"4294978196":[{"data_va":4294983776,"insn_va":4294978212,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294978216,"kind":"Global","value":null},{"data_va":4295000072,"insn_va":4294978228,"kind":"Global","value":null},{"data_va":4294978677,"insn_va":4294978244,"kind":"CString","value":"%s="},{"data_va":4295000064,"insn_va":4294978256,"kind":"Global","value":null},{"data_va":4295000072,"insn_va":4294978260,"kind":"Global","value":null},{"data_va":4294975508,"insn_va":4294978264,"kind":"Global","value":null},{"data_va":4294978681,"insn_va":4294978284,"kind":"CString","value":"b64:%s"},{"data_va":4294978688,"insn_va":4294978300,"kind":"CString","value":"0x%s"},{"data_va":4294975508,"insn_va":4294978304,"kind":"Global","value":null},{"data_va":4294975640,"insn_va":4294978316,"kind":"Global","value":null},{"data_va":4294983776,"insn_va":4294978324,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294978328,"kind":"Global","value":null},{"data_va":4294975680,"insn_va":4294978348,"kind":"Global","value":null}]}},"noreturn_vas":[],"symbols":{"4294977480":"main","4294977820":"check","4294978196":"finish"}},"capabilities":[],"code_signature":{"code_directory":{"cdhash":"3e90178094234be7c8cbe0450a6bda9de8627a0d040370e50ee6d03156a03360","flag_names":["CS_ADHOC"],"flags":2,"hash_type":2,"identifier":"ffhash-55554944ba8e9b3e932e3e32b27ac719a7003162","platform":0,"team_id":null},"signing_status":"AdHoc"},"cpp_hierarchy":null,"data_in_code":[],"dna":{"hashes":{"classhash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","cpp_classhash":null,"entitlementhash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","frameworkhash":"b24ae816b688e6820d7bca60f2d951a0009f2a3b3916d0e98fa49837e8bd470c","imphash":"0df961d261e24fafb839281621e2892626154f2c54ce814209ad93b355b7a363","sha256_text":"7c90c300d268adba3299effbd6fa3a0e9d61f0e52d7a82c809db9d4ea2f3b536","symbolhash":"0df961d261e24fafb839281621e2892626154f2c54ce814209ad93b355b7a363"},"sets":{"apis_called":["__chkstk_darwin","__error","__stack_chk_fail","__stack_chk_guard","av_hash_alloc","av_hash_final_b64","av_hash_final_hex","av_hash_freep","av_hash_get_name","av_hash_names","check","close","finish","open","printf","putchar","puts","read","strerror"],"bundle_ids":[],"cpp_classes":[],"entitlements":[],"frameworks":["libavutil.60.dylib","libSystem.B.dylib","VideoToolbox","libX11.6.dylib","CoreFoundation","CoreMedia","CoreVideo","CoreServices"],"iokit_constants":[],"objc_classes":[],"private_frameworks":[],"protocols":[],"signing_status":"Ad-Hoc","static_libs":[],"swift_protocol_names":[],"swift_type_names":[],"xpc_services":[]},"vector":{"bundle_ids":0,"cap_analytics":0,"cap_hardware":0,"cap_ipc":0,"cap_keychain":0,"cap_location":0,"cap_network":0,"cap_security":0,"cap_storage":0,"cap_system":0,"cpp_classes":0,"cpp_vtable_entries":0,"entitlements_total":0,"file_paths":5,"frameworks_private":0,"frameworks_total":8,"iokit_constants":0,"library_functions":0,"nlist_functions":3,"objc_classes":0,"objc_ivars":0,"objc_methods":0,"objc_protocols":0,"section_count":7,"size_log2":15.67992,"static_lib_count":0,"swift_conformances":0,"swift_protocols":0,"swift_types":0,"telemetry_strings":0,"text_ratio":0.016763182,"url_endpoints":0,"xpc_provides":0}},"dwarf_metadata":null,"entitlements":{"entries":{},"raw_plist":null},"exports":[{"address":0,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"_mh_execute_header"},{"address":10184,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"main"}],"fileset_entries":[],"fingerprint":{"analyzed_at":"2026-04-09T08:43:02Z","available_arches":["arm64"],"binary_type":"executable","bundle_id":null,"cdhash":"3e90178094234be7c8cbe0450a6bda9de8627a0d040370e50ee6d03156a03360","file_modified":"2026-04-09T08:43:02Z","file_size":52496,"is_arm64e":false,"min_os":"26.0.0","name":"ffhash","platform":"macOS","sdk":"26.1.0","sha256":"7bb2d0bb0f2d6c8abd103f308f660c6d829cdd0d565bf4c96c0a8a07c4552a60","sha256_slice":"7bb2d0bb0f2d6c8abd103f308f660c6d829cdd0d565bf4c96c0a8a07c4552a60","source_version":null,"team_id":null,"uuid":"BA8E9B3E-932E-3E32-B27A-C719A7003162"},"frameworks":[{"is_private":false,"is_weak":false,"name":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib"},{"is_private":false,"is_weak":false,"name":"/usr/lib/libSystem.B.dylib"},{"is_private":false,"is_weak":false,"name":"/System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/libx11/lib/libX11.6.dylib"},{"is_private":false,"is_weak":false,"name":"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"},{"is_private":false,"is_weak":false,"name":"/System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia"},{"is_private":false,"is_weak":false,"name":"/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo"},{"is_private":false,"is_weak":false,"name":"/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices"}],"function_starts_count":3,"imports":[{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_alloc"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_final_b64"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_final_hex"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_freep"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_get_name"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_init"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_names"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_hash_update"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_strstart"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"__chkstk_darwin"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"__error"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"__stack_chk_fail"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"__stack_chk_guard"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"close"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"open"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"printf"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"putchar"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"puts"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"read"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strerror"}],"interesting_strings":{"file_paths":["/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation","/System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia","/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices","/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo","/System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox"]},"iokit_surface":null,"library_matches":[],"library_profile":{"libraries":{},"library_ratio":0.0,"total_functions":3,"total_identified":0},"network_surface":{"api_usage":{"callers":[],"classes":[],"methods":[]},"endpoints":[],"has_network_entitlement":false,"network_frameworks":["CoreFoundation"]},"objc_classes":{},"objc_metadata":{"classes":{}},"sections":[{"name":"__text","offset":10184,"protection":"r-x","segment":"__TEXT","size":880},{"name":"__stubs","offset":11064,"protection":"r-x","segment":"__TEXT","size":216},{"name":"__cstring","offset":11280,"protection":"r-x","segment":"__TEXT","size":158},{"name":"__unwind_info","offset":11440,"protection":"r-x","segment":"__TEXT","size":104},{"name":"__eh_frame","offset":11544,"protection":"r-x","segment":"__TEXT","size":104},{"name":"__got","offset":16384,"protection":"rw-","segment":"__DATA_CONST","size":160},{"name":"__bss","offset":0,"protection":"rw-","segment":"__DATA","size":16}],"summary":"This ad-hoc signed arm64 executable contains only three functions and references five file paths, suggesting a simple command-line utility or helper tool. The minimal function count and lack of private framework usage indicates lightweight functionality, possibly for file manipulation, path processing, or basic system operations. Ad-hoc signing and small code footprint suggest this is either a test binary, development artifact, or utility not distributed through official channels. Without symbol information or behavioral runtime data, the specific purpose cannot be determined.","swift_metadata":null,"title":"Unknown utility — minimal functionality with file path operations","total_strings":86,"xpc_services":[]}