{"arch":"arm64","build_provenance":null,"call_graph":{"calls":{"4294977248":[{"is_tail_call":false,"symbol":"__error","target_va":4294978192},{"is_tail_call":false,"symbol":"getopt","target_va":4294978288},{"is_tail_call":false,"symbol":"puts","target_va":4294978300},{"is_tail_call":false,"symbol":"puts","target_va":4294978300},{"is_tail_call":false,"symbol":"puts","target_va":4294978300},{"is_tail_call":false,"symbol":"fopen","target_va":4294978264},{"is_tail_call":false,"symbol":"fopen","target_va":4294978264},{"is_tail_call":false,"symbol":"fgetc","target_va":4294978252},{"is_tail_call":false,"symbol":"__error","target_va":4294978192},{"is_tail_call":false,"symbol":"__stack_chk_fail","target_va":4294978204},{"is_tail_call":false,"symbol":"fprintf","target_va":4294978276},{"is_tail_call":false,"symbol":"__stdinp","target_va":4294978240},{"is_tail_call":false,"symbol":"fprintf","target_va":4294978276},{"is_tail_call":false,"symbol":"__stderrp","target_va":4294978228},{"is_tail_call":false,"symbol":"__stdoutp","target_va":4294978168},{"is_tail_call":false,"symbol":"strerror","target_va":4294978312},{"is_tail_call":false,"symbol":"__stdoutp","target_va":4294978168},{"is_tail_call":false,"symbol":"strerror","target_va":4294978312},{"is_tail_call":false,"symbol":"fprintf","target_va":4294978276},{"is_tail_call":false,"symbol":"__stack_chk_guard","target_va":4294978216}]},"data_xrefs":{"by_data":{"4294975488":[4294977248],"4294975489":[4294977248],"4294975512":[4294977248],"4294975520":[4294977248],"4294975532":[4294977248],"4294975536":[4294977248],"4294975608":[4294977248],"4294975616":[4294977248],"4294978324":[4294977248],"4294978328":[4294977248],"4294978364":[4294977248],"4294978373":[4294977248],"4294978379":[4294977248],"4294978381":[4294977248],"4294978421":[4294977248],"4294978428":[4294977248],"4294978430":[4294977248],"4294978471":[4294977248],"4294978475":[4294977248],"4294978481":[4294977248],"4294978492":[4294977248],"4294978587":[4294977248],"4294978611":[4294977248],"4294983680":[4294977248],"4294983736":[4294977248],"4294983744":[4294977248],"4294983752":[4294977248],"4294983760":[4294977248],"4294983800":[4294977248]},"by_function":{"4294977248":[{"data_va":4294983736,"insn_va":4294977296,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294977300,"kind":"Global","value":null},{"data_va":4294978324,"insn_va":4294977352,"kind":"CString","value":"=> "},{"data_va":4294983800,"insn_va":4294977364,"kind":"Global","value":null},{"data_va":4294978364,"insn_va":4294977376,"kind":"CString","value":"ehi:o:p:"},{"data_va":4294983680,"insn_va":4294977428,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294977480,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294977488,"kind":"Global","value":null},{"data_va":4294978492,"insn_va":4294977500,"kind":"CString","value":"Simple expression evaluator, please *don't* turn me to a feature-complete language interpreter"},{"data_va":4294978587,"insn_va":4294977512,"kind":"CString","value":"usage: ffeval [OPTIONS]"},{"data_va":4294978611,"insn_va":4294977524,"kind":"CString","value":"\nOptions:\n-e                echo each input line on output\n-h                print this help\n-i INFILE         set INFILE as input file, stdin if omitted\n-o OUTFILE        set OUTFILE as output file, stdout if omitted\n-p PROMPT         set output prompt"},{"data_va":4294978379,"insn_va":4294977564,"kind":"CString","value":null},{"data_va":4294978428,"insn_va":4294977612,"kind":"CString","value":null},{"data_va":4294978475,"insn_va":4294977640,"kind":"CString","value":"%s%f\n"},{"data_va":4294975536,"insn_va":4294977644,"kind":"Global","value":null},{"data_va":4294978481,"insn_va":4294977652,"kind":"CString","value":"%s%f (%s)\n"},{"data_va":4294978471,"insn_va":4294977660,"kind":"CString","value":"%s "},{"data_va":4294975532,"insn_va":4294977692,"kind":"Global","value":null},{"data_va":4294975520,"insn_va":4294977708,"kind":"Global","value":null},{"data_va":4294975532,"insn_va":4294977712,"kind":"Global","value":null},{"data_va":4294975520,"insn_va":4294977732,"kind":"Global","value":null},{"data_va":4294975489,"insn_va":4294977740,"kind":"Global","value":null},{"data_va":4294975520,"insn_va":4294977748,"kind":"Global","value":null},{"data_va":4294975520,"insn_va":4294977756,"kind":"Global","value":null},{"data_va":4294975512,"insn_va":4294977780,"kind":"Global","value":null},{"data_va":4294975520,"insn_va":4294977824,"kind":"Global","value":null},{"data_va":4294975512,"insn_va":4294977844,"kind":"Global","value":null},{"data_va":4294975536,"insn_va":4294977884,"kind":"Global","value":null},{"data_va":4294978328,"insn_va":4294977936,"kind":"CString","value":"Memory allocation problem occurred\n"},{"data_va":4294983752,"insn_va":4294977956,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294977960,"kind":"Global","value":null},{"data_va":4294978373,"insn_va":4294977968,"kind":"CString","value":"stdin"},{"data_va":4294983744,"insn_va":4294977980,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294977984,"kind":"Global","value":null},{"data_va":4294975488,"insn_va":4294977992,"kind":"Global","value":null},{"data_va":4294978381,"insn_va":4294978008,"kind":"CString","value":"Impossible to open input file '%s': %s\n"},{"data_va":4294983760,"insn_va":4294978020,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294978024,"kind":"Global","value":null},{"data_va":4294978421,"insn_va":4294978032,"kind":"CString","value":"stdout"},{"data_va":4294983744,"insn_va":4294978044,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294978048,"kind":"Global","value":null},{"data_va":4294975488,"insn_va":4294978056,"kind":"Global","value":null},{"data_va":4294978430,"insn_va":4294978072,"kind":"CString","value":"Impossible to open output file '%s': %s\n"},{"data_va":4294975520,"insn_va":4294978092,"kind":"Global","value":null},{"data_va":4294975608,"insn_va":4294978104,"kind":"Global","value":null},{"data_va":4294983736,"insn_va":4294978112,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294978116,"kind":"Global","value":null},{"data_va":4294975616,"insn_va":4294978128,"kind":"Global","value":null}]}},"noreturn_vas":[],"symbols":{"4294977248":"main"}},"capabilities":[],"code_signature":{"code_directory":{"cdhash":"0cc49c22380b2a514ce54fd13be624d33289d412e66b2516ecbc0995a1d4851e","flag_names":["CS_ADHOC"],"flags":2,"hash_type":2,"identifier":"ffeval-555549446b54d9e0886435d7a19779017c07318a","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":"0d6e4079e36703ebd37c00722f5891d28b0e2811dc114b129215123adcce3605","sha256_text":"45d1825486b981e3930dfb92e5650164ee31581804da4ec5f2976349e9296d44","symbolhash":"0d6e4079e36703ebd37c00722f5891d28b0e2811dc114b129215123adcce3605"},"sets":{"apis_called":["__error","__stack_chk_fail","__stack_chk_guard","__stderrp","__stdinp","__stdoutp","fgetc","fopen","fprintf","getopt","puts","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":1,"objc_classes":0,"objc_ivars":0,"objc_methods":0,"objc_protocols":0,"section_count":5,"size_log2":15.672425,"static_lib_count":0,"swift_conformances":0,"swift_protocols":0,"swift_types":0,"telemetry_strings":0,"text_ratio":0.017616421,"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":9952,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"main"}],"fileset_entries":[],"fingerprint":{"analyzed_at":"2026-04-09T08:42:57Z","available_arches":["arm64"],"binary_type":"executable","bundle_id":null,"cdhash":"0cc49c22380b2a514ce54fd13be624d33289d412e66b2516ecbc0995a1d4851e","file_modified":"2026-04-09T08:42:57Z","file_size":52224,"is_arm64e":false,"min_os":"26.0.0","name":"ffeval","platform":"macOS","sdk":"26.1.0","sha256":"8cc7da66f239eae8c9c77ffbd839fb22cf5aa2de1380e8f885d953a067dca23e","sha256_slice":"8cc7da66f239eae8c9c77ffbd839fb22cf5aa2de1380e8f885d953a067dca23e","source_version":null,"team_id":null,"uuid":"6B54D9E0-8864-35D7-A197-79017C07318A"},"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":1,"imports":[{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_dynarray2_add"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_expr_parse_and_eval"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_free"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_log"},{"address":0,"dylib":"/opt/homebrew/Cellar/ffmpeg/8.0.1/lib/libavutil.60.dylib","is_lazy":false,"is_weak":false,"name":"av_strerror"},{"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":"__stderrp"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"__stdinp"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"__stdoutp"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fgetc"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fopen"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fprintf"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"getopt"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"optarg"},{"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":"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":1,"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":9952,"protection":"r-x","segment":"__TEXT","size":920},{"name":"__stubs","offset":10872,"protection":"r-x","segment":"__TEXT","size":156},{"name":"__cstring","offset":11028,"protection":"r-x","segment":"__TEXT","size":541},{"name":"__unwind_info","offset":11572,"protection":"r-x","segment":"__TEXT","size":88},{"name":"__got","offset":16384,"protection":"rw-","segment":"__DATA_CONST","size":144}],"summary":"This arm64 executable is signed with ad-hoc credentials and contains a single exported function. It references five file paths, suggesting filesystem operations or path manipulation. With minimal framework dependencies and a single function entry point, it likely serves as a specialized utility or command-line tool for a specific task rather than a system daemon or service.","swift_metadata":null,"title":"Ad-hoc signed utility — executes a single primary function","total_strings":80,"xpc_services":[]}