{"arch":"arm64","build_provenance":null,"call_graph":{"calls":{"4294971848":[{"is_tail_call":false,"symbol":"strdup","target_va":4294974084},{"is_tail_call":false,"symbol":"ldns_rdf_print","target_va":4294973964},{"is_tail_call":false,"symbol":"getopt","target_va":4294973904},{"is_tail_call":false,"symbol":"fwrite","target_va":4294973892},{"is_tail_call":false,"symbol":"strlen","target_va":4294974096},{"is_tail_call":false,"symbol":"ldns_nsec3_hash_name","target_va":4294973940},{"is_tail_call":false,"symbol":"strlen","target_va":4294974096},{"is_tail_call":false,"symbol":"malloc","target_va":4294974036},{"is_tail_call":false,"symbol":"__maskrune","target_va":4294973988},{"is_tail_call":false,"symbol":"__maskrune","target_va":4294973988},{"is_tail_call":false,"symbol":"strlen","target_va":4294974096},{"is_tail_call":false,"symbol":"_DefaultRuneLocale","target_va":4294973976},{"is_tail_call":false,"symbol":"__stderrp","target_va":4294974000},{"is_tail_call":false,"symbol":"abort","target_va":4294974024},{"is_tail_call":false,"symbol":"putchar","target_va":4294974060},{"is_tail_call":false,"symbol":"__stdoutp","target_va":4294974012},{"is_tail_call":false,"symbol":"__stdoutp","target_va":4294974012},{"is_tail_call":false,"symbol":"ldns_nsec3_hash_name","target_va":4294973940},{"is_tail_call":false,"symbol":"ldns_nsec3_hash_name","target_va":4294973940},{"is_tail_call":false,"symbol":"ldns_nsec3_hash_name","target_va":4294973940},{"is_tail_call":false,"symbol":"ldns_nsec3_hash_name","target_va":4294973940},{"is_tail_call":false,"symbol":"ldns_rdf_deep_free","target_va":4294973952},{"is_tail_call":false,"symbol":"ldns_nsec3_hash_name","target_va":4294973940},{"is_tail_call":false,"symbol":"ldns_nsec3_hash_name","target_va":4294973940},{"is_tail_call":false,"symbol":"ldns_rdf_deep_free","target_va":4294973952}],"4294972720":[{"is_tail_call":false,"symbol":"ldns_hexdigit_to_int","target_va":4294973928},{"is_tail_call":false,"symbol":"ldns_rdf_deep_free","target_va":4294973952},{"is_tail_call":false,"symbol":"ldns_rdf_deep_free","target_va":4294973952},{"is_tail_call":false,"symbol":"ldns_rdf_deep_free","target_va":4294973952},{"is_tail_call":true,"symbol":"ldns_rdf_deep_free","target_va":4294973952}],"4294972864":[{"is_tail_call":false,"symbol":"atol","target_va":4294973868},{"is_tail_call":false,"symbol":"memchr","target_va":4294974048},{"is_tail_call":false,"symbol":"atol","target_va":4294973868},{"is_tail_call":false,"symbol":"atol","target_va":4294973868}]},"data_xrefs":{"by_data":{"4294971400":[4294971848],"4294971440":[4294972720],"4294971520":[4294971848],"4294974108":[4294971848],"4294974277":[4294971848],"4294974313":[4294971848],"4294974340":[4294972720],"4294974368":[4294972720],"4294974418":[4294972720],"4294974452":[4294972720],"4294974491":[4294972720],"4294974537":[4294973508],"4294974602":[4294972864],"4294983680":[4294971848],"4294983720":[4294971848,4294972864],"4294983736":[4294971848],"4294983744":[4294971848],"4294983832":[4294971848],"4294983840":[4294971848]},"by_function":{"4294971848":[{"data_va":4294983832,"insn_va":4294971908,"kind":"Global","value":null},{"data_va":4294983720,"insn_va":4294971924,"kind":"Global","value":null},{"data_va":4294974108,"insn_va":4294971936,"kind":"CString","value":"a:s:t:"},{"data_va":4294983680,"insn_va":4294971980,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972012,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972028,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972064,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972168,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972196,"kind":"Global","value":null},{"data_va":4294983840,"insn_va":4294972232,"kind":"Global","value":null},{"data_va":4294983744,"insn_va":4294972304,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972308,"kind":"Global","value":null},{"data_va":4294983736,"insn_va":4294972396,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972400,"kind":"Global","value":null},{"data_va":4294974277,"insn_va":4294972408,"kind":"CString","value":"Error: unable to parse domain name\n"},{"data_va":4294971400,"insn_va":4294972432,"kind":"Global","value":null},{"data_va":4294983736,"insn_va":4294972456,"kind":"Global","value":null},{"data_va":4294983680,"insn_va":4294972460,"kind":"Global","value":null},{"data_va":4294974313,"insn_va":4294972468,"kind":"CString","value":"Error creating NSEC3 hash\n"},{"data_va":4294971520,"insn_va":4294972516,"kind":"Global","value":null}],"4294972720":[{"data_va":4294974340,"insn_va":4294972748,"kind":"CString","value":"%s [OPTIONS] <domain name>\n"},{"data_va":4294974368,"insn_va":4294972760,"kind":"CString","value":"  prints the NSEC3 hash of the given domain name\n"},{"data_va":4294974418,"insn_va":4294972784,"kind":"CString","value":"-a [algorithm] hashing algorithm\n"},{"data_va":4294974452,"insn_va":4294972808,"kind":"CString","value":"-t [number] number of hash iterations\n"},{"data_va":4294974491,"insn_va":4294972832,"kind":"CString","value":"-s [string] salt\n"},{"data_va":4294971440,"insn_va":4294972856,"kind":"Global","value":null}],"4294972864":[{"data_va":4294983720,"insn_va":4294972920,"kind":"Global","value":null},{"data_va":4294974602,"insn_va":4294972928,"kind":"Global","value":null}],"4294973508":[{"data_va":4294974537,"insn_va":4294973540,"kind":"CString","value":"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"}]}},"noreturn_vas":[],"symbols":{"4294971848":"main","4294972720":"usage","4294972864":"ldns_b64_pton","4294973508":"ldns_b64_ntop"}},"capabilities":[],"code_signature":{"code_directory":{"cdhash":"965222324b8234e38c51e9826d2275176dcdf97d2554dd827d81f38d1a722639","flag_names":["CS_ADHOC"],"flags":2,"hash_type":2,"identifier":"ldns-nsec3-hash-55554944de5dea0d1b8c3f3481c93c0d07afe7d1","platform":0,"team_id":null},"signing_status":"AdHoc"},"cpp_hierarchy":null,"data_in_code":[],"dna":{"hashes":{"classhash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","cpp_classhash":null,"entitlementhash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","frameworkhash":"8bcb91b9a1e3cafd96a12cf64ed3b1dab21f2042ab901b259d16a4ee1c3ea64d","imphash":"18d9fe66a78e0b743170ebf1cc3bd3c17e82ac517e920542edf467442f130f52","sha256_text":"25ac4bb9e001a24914ca0514288f48a57d408bb6135e6a1cbe0c2a198140923c","symbolhash":"18d9fe66a78e0b743170ebf1cc3bd3c17e82ac517e920542edf467442f130f52"},"sets":{"apis_called":["_DefaultRuneLocale","__maskrune","__stderrp","__stdoutp","abort","atol","fwrite","getopt","ldns_hexdigit_to_int","ldns_nsec3_hash_name","ldns_rdf_deep_free","ldns_rdf_print","malloc","memchr","putchar","strdup","strlen"],"bundle_ids":[],"cpp_classes":[],"entitlements":[],"frameworks":["libldns.3.dylib","libcrypto.3.dylib","libSystem.B.dylib"],"iokit_constants":[],"objc_classes":[],"private_frameworks":[],"protocols":[],"signing_status":"Ad-Hoc","static_libs":["FLAC-1.5.0","ldns-1.9.0"],"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":0,"frameworks_private":0,"frameworks_total":3,"iokit_constants":0,"library_functions":2,"nlist_functions":4,"objc_classes":0,"objc_ivars":0,"objc_methods":0,"objc_protocols":0,"section_count":7,"size_log2":16.079151,"static_lib_count":2,"swift_conformances":0,"swift_protocols":0,"swift_types":0,"telemetry_strings":0,"text_ratio":0.02917726,"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":6212,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"ldns_b64_ntop"},{"address":5568,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"ldns_b64_pton"},{"address":4552,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"main"},{"address":32768,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"verbosity"}],"fileset_entries":[],"fingerprint":{"analyzed_at":"2026-04-09T09:02:29Z","available_arches":["arm64"],"binary_type":"executable","bundle_id":null,"cdhash":"965222324b8234e38c51e9826d2275176dcdf97d2554dd827d81f38d1a722639","file_modified":"2026-04-09T09:02:29Z","file_size":69232,"is_arm64e":false,"min_os":"26.0.0","name":"ldns-nsec3-hash","platform":"macOS","sdk":"26.1.0","sha256":"d58b54cf7b92bdbb6730d7519030159f0ed4846d7e101815543b68af5a31ffa6","sha256_slice":"d58b54cf7b92bdbb6730d7519030159f0ed4846d7e101815543b68af5a31ffa6","source_version":null,"team_id":null,"uuid":"DE5DEA0D-1B8C-3F34-81C9-3C0D07AFE7D1"},"frameworks":[{"is_private":false,"is_weak":false,"name":"/opt/homebrew/Cellar/ldns/1.9.0/lib/libldns.3.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/openssl@3/lib/libcrypto.3.dylib"},{"is_private":false,"is_weak":false,"name":"/usr/lib/libSystem.B.dylib"}],"function_starts_count":4,"imports":[{"address":0,"dylib":"/opt/homebrew/Cellar/ldns/1.9.0/lib/libldns.3.dylib","is_lazy":false,"is_weak":false,"name":"ldns_dname_new_frm_str"},{"address":0,"dylib":"/opt/homebrew/Cellar/ldns/1.9.0/lib/libldns.3.dylib","is_lazy":false,"is_weak":false,"name":"ldns_hexdigit_to_int"},{"address":0,"dylib":"/opt/homebrew/Cellar/ldns/1.9.0/lib/libldns.3.dylib","is_lazy":false,"is_weak":false,"name":"ldns_nsec3_hash_name"},{"address":0,"dylib":"/opt/homebrew/Cellar/ldns/1.9.0/lib/libldns.3.dylib","is_lazy":false,"is_weak":false,"name":"ldns_rdf_deep_free"},{"address":0,"dylib":"/opt/homebrew/Cellar/ldns/1.9.0/lib/libldns.3.dylib","is_lazy":false,"is_weak":false,"name":"ldns_rdf_print"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"_DefaultRuneLocale"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"__maskrune"},{"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":"__stdoutp"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"abort"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"atoi"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"atol"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"exit"},{"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":"free"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fwrite"},{"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":"malloc"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"memchr"},{"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":"optind"},{"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":"strdup"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strlen"}],"interesting_strings":{},"iokit_surface":null,"library_matches":[],"library_profile":{"libraries":{"FLAC":["1.5.0",1],"ldns":["1.9.0",1]},"library_ratio":0.5,"total_functions":4,"total_identified":2},"network_surface":{"api_usage":{"callers":[],"classes":[],"methods":[]},"endpoints":[],"has_network_entitlement":false,"network_frameworks":[]},"objc_classes":{},"objc_metadata":{"classes":{}},"sections":[{"name":"__text","offset":4552,"protection":"r-x","segment":"__TEXT","size":2020},{"name":"__stubs","offset":6572,"protection":"r-x","segment":"__TEXT","size":240},{"name":"__cstring","offset":6812,"protection":"r-x","segment":"__TEXT","size":494},{"name":"__const","offset":7306,"protection":"r-x","segment":"__TEXT","size":65},{"name":"__unwind_info","offset":7372,"protection":"r-x","segment":"__TEXT","size":112},{"name":"__got","offset":16384,"protection":"rw-","segment":"__DATA_CONST","size":200},{"name":"__data","offset":32768,"protection":"rw-","segment":"__DATA","size":4}],"summary":"This ad-hoc signed executable contains minimal functionality with only 4 exported functions and 3 standard frameworks. Without access to the binary's code, string constants, or entry point analysis, its specific purpose cannot be determined. The small size and low function count suggest a utility or helper tool rather than a system daemon or major application component. Security analysts should analyze the binary's imports, disassembly, and runtime behavior to determine its actual function.","swift_metadata":null,"title":"Unknown utility — insufficient metadata for classification","total_strings":123,"xpc_services":[]}