{"arch":"arm64","build_provenance":null,"call_graph":{"calls":{"4294984208":[{"is_tail_call":false,"symbol":"__error","target_va":4294988428},{"is_tail_call":false,"symbol":"umask","target_va":4294988704},{"is_tail_call":false,"symbol":"process_options","target_va":4294985712},{"is_tail_call":false,"symbol":"gnutls_strerror","target_va":4294988416},{"is_tail_call":false,"symbol":"gnutls_strdup","target_va":4294988404},{"is_tail_call":false,"symbol":"printf","target_va":4294988548},{"is_tail_call":false,"symbol":"__stack_chk_guard","target_va":4294988452},{"is_tail_call":false,"symbol":"strlen","target_va":4294988656},{"is_tail_call":false,"symbol":"snprintf","target_va":4294988572},{"is_tail_call":false,"symbol":"stat","target_va":4294988596},{"is_tail_call":false,"symbol":"gnutls_free","target_va":4294988344},{"is_tail_call":false,"symbol":"gnutls_hex_encode2","target_va":4294988368}],"4294985712":[{"is_tail_call":false,"symbol":"gnutls_rnd","target_va":4294988392},{"is_tail_call":false,"symbol":"parse_number","target_va":4294986784},{"is_tail_call":false,"symbol":"parse_number","target_va":4294986784}],"4294986784":[{"is_tail_call":false,"symbol":"close","target_va":4294988176},{"is_tail_call":false,"symbol":"strspn","target_va":4294988680},{"is_tail_call":false,"symbol":"strlen","target_va":4294988656},{"is_tail_call":false,"symbol":"strtol","target_va":4294988692},{"is_tail_call":false,"symbol":"close","target_va":4294988176}],"4294987052":[{"is_tail_call":false,"symbol":"gnutls_global_init","target_va":4294988356},{"is_tail_call":false,"symbol":"fprintf","target_va":4294988260}],"4294987092":[{"is_tail_call":true,"symbol":"fprintf","target_va":4294988260}],"4294987100":[{"is_tail_call":false,"symbol":"issetugid","target_va":4294988476}],"4294987156":[{"is_tail_call":false,"symbol":"strlen","target_va":4294988656},{"is_tail_call":false,"symbol":"memcpy","target_va":4294988488},{"is_tail_call":false,"symbol":"open","target_va":4294988512},{"is_tail_call":false,"symbol":"fwrite","target_va":4294988284},{"is_tail_call":false,"symbol":"close","target_va":4294988176},{"is_tail_call":false,"symbol":"fgets","target_va":4294988224},{"is_tail_call":false,"symbol":"close","target_va":4294988176},{"is_tail_call":true,"symbol":"getpwuid","target_va":4294988320}],"4294987740":[{"is_tail_call":false,"symbol":"__fpending","target_va":4294987864},{"is_tail_call":false,"symbol":"getenv","target_va":4294988296},{"is_tail_call":false,"symbol":"fputs","target_va":4294988272},{"is_tail_call":false,"symbol":"close","target_va":4294988176},{"is_tail_call":false,"symbol":"close","target_va":4294988176}],"4294987880":[{"is_tail_call":false,"symbol":"strerror_override","target_va":4294988056},{"is_tail_call":false,"symbol":"strerror","target_va":4294988644},{"is_tail_call":false,"symbol":"strlen","target_va":4294988656},{"is_tail_call":false,"symbol":"dup2","target_va":4294988188},{"is_tail_call":false,"symbol":"sprintf","target_va":4294988584},{"is_tail_call":false,"symbol":"close","target_va":4294988176}],"4294988076":[{"is_tail_call":false,"symbol":"perror","target_va":4294988524},{"is_tail_call":false,"symbol":"OUTLINED_FUNCTION_0","target_va":4294987092}],"4294988100":[{"is_tail_call":false,"symbol":"perror","target_va":4294988524},{"is_tail_call":false,"symbol":"OUTLINED_FUNCTION_0","target_va":4294987092}],"4294988124":[{"is_tail_call":false,"symbol":"snprintf","target_va":4294988572},{"is_tail_call":false,"symbol":"perror","target_va":4294988524},{"is_tail_call":false,"symbol":"OUTLINED_FUNCTION_0","target_va":4294987092}]},"data_xrefs":{"by_data":{"4294987778":[4294984208],"4294987800":[4294984208],"4294987992":[4294984208],"4294988504":[4294984208],"4294988769":[4294984208],"4294988805":[4294984208],"4294988885":[4294984208],"4294988911":[4294984208],"4294988918":[4294984208],"4294989076":[4294985712],"4294989179":[4294988100],"4294989184":[4294988076],"4294990598":[4294987052],"4294991584":[4294984208],"4294991622":[4294986784],"4294991632":[4294988124],"4294991666":[4294988056],"4294991674":[4294987880],"4295000064":[4294984208,4294985712,4294986784,4294987156],"4295000072":[4294988124],"4295000080":[4294988124],"4295000096":[4294988124],"4295000112":[4294988124],"4295000120":[4294984208],"4295000128":[4294988124],"4295000136":[4294988124],"4295000144":[4294988124],"4295000152":[4294984208,4294985712,4294986784,4294987156],"4295000160":[4294984208],"4295000176":[4294988124],"4295000184":[4294988124],"4295000192":[4294988124],"4295000200":[4294988124],"4295000208":[4294988124],"4295000216":[4294988124],"4295000224":[4294988124],"4295000232":[4294988124],"4295000240":[4294988124],"4295000248":[4294988124],"4295000256":[4294988124],"4295000264":[4294988124],"4295000272":[4294988124],"4295000280":[4294988124],"4295000288":[4294988124],"4295000296":[4294988124],"4295000304":[4294988124],"4295000312":[4294988124],"4295000320":[4294988124],"4295000328":[4294988124],"4295000336":[4294988124],"4295000344":[4294988124],"4295000352":[4294985712,4294986784],"4295000360":[4294985712],"4295000368":[4294988124],"4295000376":[4294988124],"4295000384":[4294988124],"4295000392":[4294988124],"4295000400":[4294988124],"4295000408":[4294988124],"4295000416":[4294988124],"4295000424":[4294988124],"4295000432":[4294988124],"4295000440":[4294988124],"4295000448":[4294988124],"4295000456":[4294988124],"4295000464":[4294988124],"4295000472":[4294988124],"4295000480":[4294988124],"4295000488":[4294988124],"4295000496":[4294985712],"4295016448":[4294984208,4294985712],"4295016449":[4294985712],"4295016450":[4294985712],"4295016451":[4294985712],"4295016452":[4294985712],"4295016453":[4294985712],"4295016454":[4294985712],"4295016472":[4294984208],"4295016480":[4294984208],"4295016496":[4294985712],"4295016500":[4294984208],"4295016512":[4294987880]},"by_function":{"4294984208":[{"data_va":4295000120,"insn_va":4294984244,"kind":"Global","value":null},{"data_va":4295000152,"insn_va":4294984272,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294984276,"kind":"Global","value":null},{"data_va":4295016448,"insn_va":4294984316,"kind":"Global","value":null},{"data_va":4295016480,"insn_va":4294984328,"kind":"Global","value":null},{"data_va":4295016472,"insn_va":4294984340,"kind":"Global","value":null},{"data_va":4295016500,"insn_va":4294984368,"kind":"Global","value":null},{"data_va":4294988805,"insn_va":4294984416,"kind":"CString","value":"Generating a random key for user '%s'\n"},{"data_va":4294987992,"insn_va":4294984424,"kind":"Global","value":null},{"data_va":4295000160,"insn_va":4294984476,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294984480,"kind":"Global","value":null},{"data_va":4294988885,"insn_va":4294984492,"kind":"CString","value":"file '%s' is tooooo long\n"},{"data_va":4294988911,"insn_va":4294984508,"kind":"CString","value":"%s.tmp"},{"data_va":4294988504,"insn_va":4294984512,"kind":"Global","value":null},{"data_va":4294988504,"insn_va":4294984516,"kind":"Global","value":null},{"data_va":4294988504,"insn_va":4294984528,"kind":"Global","value":null},{"data_va":4294987800,"insn_va":4294984532,"kind":"Global","value":null},{"data_va":4295000160,"insn_va":4294984552,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294984556,"kind":"Global","value":null},{"data_va":4294988918,"insn_va":4294984568,"kind":"CString","value":"file '%s' is locked\n"},{"data_va":4295000160,"insn_va":4294984584,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294984588,"kind":"Global","value":null},{"data_va":4294988769,"insn_va":4294984596,"kind":"CString","value":"No such user\n"},{"data_va":4295000152,"insn_va":4294984624,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294984628,"kind":"Global","value":null},{"data_va":4294987778,"insn_va":4294984644,"kind":"Global","value":null},{"data_va":4294991584,"insn_va":4294984648,"kind":"CString","value":"pskfile"}],"4294985712":[{"data_va":4295000152,"insn_va":4294985756,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294985760,"kind":"Global","value":null},{"data_va":4294989076,"insn_va":4294985768,"kind":"CString","value":"!d:hp:s:u:v:"},{"data_va":4295000496,"insn_va":4294985776,"kind":"Global","value":null},{"data_va":4295016448,"insn_va":4294985792,"kind":"Global","value":null},{"data_va":4295000352,"insn_va":4294985800,"kind":"Global","value":null},{"data_va":4295016449,"insn_va":4294985808,"kind":"Global","value":null},{"data_va":4295016451,"insn_va":4294985816,"kind":"Global","value":null},{"data_va":4295016452,"insn_va":4294985824,"kind":"Global","value":null},{"data_va":4295016454,"insn_va":4294985920,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294985948,"kind":"Global","value":null},{"data_va":4295016453,"insn_va":4294985992,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986012,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986032,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986052,"kind":"Global","value":null},{"data_va":4295016450,"insn_va":4294986080,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986088,"kind":"Global","value":null},{"data_va":4295016496,"insn_va":4294986116,"kind":"Global","value":null},{"data_va":4295000360,"insn_va":4294986184,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986188,"kind":"Global","value":null},{"data_va":4295000152,"insn_va":4294986256,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986260,"kind":"Global","value":null}],"4294986784":[{"data_va":4295000152,"insn_va":4294986812,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986816,"kind":"Global","value":null},{"data_va":4294991622,"insn_va":4294986884,"kind":"CString","value":"012345678"},{"data_va":4295000352,"insn_va":4294986904,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294986908,"kind":"Global","value":null},{"data_va":4295000152,"insn_va":4294986996,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294987000,"kind":"Global","value":null}],"4294987052":[{"data_va":4294990598,"insn_va":4294987076,"kind":"CString","value":"psktool - GnuTLS PSK tool\nUsage:  psktool [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \n\nNone:\n\n   -d, --debug=num            Enable debugging\n\t\t\t\t- it must be in the range:\n\t\t\t\t  0 to 9999\n   -s, --keysize=num          Specify the key size in bytes (default is 32-bytes or 256-bits)\n\t\t\t\t- it must be in the range:\n\t\t\t\t  0 to 512\n   -u, --username=str         Specify the username to use\n   -p, --pskfile=str          Specify a pre-shared key file\n\nVersion, usage and configuration options:\n\n   -v, --version[=arg]        output version information and exit\n   -h, --help                 display extended usage information and exit\n   -!, --more-help            extended usage information passed thru pager\n\nOptions are specified by doubled hyphens and their name or by a single\nhyphen and the flag character.\n\nProgram  that generates random keys for use with TLS-PSK. The\nkeys are stored in hexadecimal format in a key file.\n\nPlease send bug reports to:  <bugs@gnutls.org>\n\n"}],"4294987156":[{"data_va":4295000152,"insn_va":4294987212,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294987216,"kind":"Global","value":null},{"data_va":4295000152,"insn_va":4294987628,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294987632,"kind":"Global","value":null},{"data_va":4295000152,"insn_va":4294987692,"kind":"Global","value":null},{"data_va":4295000064,"insn_va":4294987696,"kind":"Global","value":null}],"4294987880":[{"data_va":4295016512,"insn_va":4294987960,"kind":"Global","value":null},{"data_va":4295016512,"insn_va":4294987996,"kind":"Global","value":null},{"data_va":4294991674,"insn_va":4294988004,"kind":"Global","value":null}],"4294988056":[{"data_va":4294991666,"insn_va":4294988060,"kind":"CString","value":"Success"}],"4294988076":[{"data_va":4294989184,"insn_va":4294988088,"kind":"CString","value":"fork"}],"4294988100":[{"data_va":4294989179,"insn_va":4294988112,"kind":"CString","value":"pipe"}],"4294988124":[{"data_va":4294991632,"insn_va":4294988152,"kind":"CString","value":"'%s' is not a recognizable number"},{"data_va":4295000128,"insn_va":4294988180,"kind":"Global","value":null},{"data_va":4295000136,"insn_va":4294988192,"kind":"Global","value":null},{"data_va":4295000144,"insn_va":4294988204,"kind":"Global","value":null},{"data_va":4295000176,"insn_va":4294988216,"kind":"Global","value":null},{"data_va":4295000184,"insn_va":4294988228,"kind":"Global","value":null},{"data_va":4295000192,"insn_va":4294988240,"kind":"Global","value":null},{"data_va":4295000200,"insn_va":4294988252,"kind":"Global","value":null},{"data_va":4295000208,"insn_va":4294988264,"kind":"Global","value":null},{"data_va":4295000216,"insn_va":4294988276,"kind":"Global","value":null},{"data_va":4295000224,"insn_va":4294988288,"kind":"Global","value":null},{"data_va":4295000232,"insn_va":4294988300,"kind":"Global","value":null},{"data_va":4295000240,"insn_va":4294988312,"kind":"Global","value":null},{"data_va":4295000248,"insn_va":4294988324,"kind":"Global","value":null},{"data_va":4295000256,"insn_va":4294988336,"kind":"Global","value":null},{"data_va":4295000264,"insn_va":4294988348,"kind":"Global","value":null},{"data_va":4295000272,"insn_va":4294988360,"kind":"Global","value":null},{"data_va":4295000280,"insn_va":4294988372,"kind":"Global","value":null},{"data_va":4295000288,"insn_va":4294988384,"kind":"Global","value":null},{"data_va":4295000296,"insn_va":4294988396,"kind":"Global","value":null},{"data_va":4295000304,"insn_va":4294988408,"kind":"Global","value":null},{"data_va":4295000312,"insn_va":4294988420,"kind":"Global","value":null},{"data_va":4295000072,"insn_va":4294988432,"kind":"Global","value":null},{"data_va":4295000080,"insn_va":4294988444,"kind":"Global","value":null},{"data_va":4295000096,"insn_va":4294988456,"kind":"Global","value":null},{"data_va":4295000112,"insn_va":4294988468,"kind":"Global","value":null},{"data_va":4295000320,"insn_va":4294988480,"kind":"Global","value":null},{"data_va":4295000328,"insn_va":4294988492,"kind":"Global","value":null},{"data_va":4295000336,"insn_va":4294988504,"kind":"Global","value":null},{"data_va":4295000344,"insn_va":4294988516,"kind":"Global","value":null},{"data_va":4295000368,"insn_va":4294988528,"kind":"Global","value":null},{"data_va":4295000376,"insn_va":4294988540,"kind":"Global","value":null},{"data_va":4295000384,"insn_va":4294988552,"kind":"Global","value":null},{"data_va":4295000392,"insn_va":4294988564,"kind":"Global","value":null},{"data_va":4295000400,"insn_va":4294988576,"kind":"Global","value":null},{"data_va":4295000408,"insn_va":4294988588,"kind":"Global","value":null},{"data_va":4295000416,"insn_va":4294988600,"kind":"Global","value":null},{"data_va":4295000424,"insn_va":4294988612,"kind":"Global","value":null},{"data_va":4295000432,"insn_va":4294988624,"kind":"Global","value":null},{"data_va":4295000440,"insn_va":4294988636,"kind":"Global","value":null},{"data_va":4295000448,"insn_va":4294988648,"kind":"Global","value":null},{"data_va":4295000456,"insn_va":4294988660,"kind":"Global","value":null},{"data_va":4295000464,"insn_va":4294988672,"kind":"Global","value":null},{"data_va":4295000472,"insn_va":4294988684,"kind":"Global","value":null},{"data_va":4295000480,"insn_va":4294988696,"kind":"Global","value":null},{"data_va":4295000488,"insn_va":4294988708,"kind":"Global","value":null}]}},"noreturn_vas":[],"symbols":{"4294984208":"main","4294985712":"process_options","4294986784":"parse_number","4294987052":"usage","4294987092":"OUTLINED_FUNCTION_0","4294987100":"secure_getenv","4294987156":"rpl_fopen","4294987740":"close_stream","4294987864":"sub_100005058","4294987880":"rpl_strerror","4294988056":"strerror_override","4294988076":"process_options.cold.1","4294988100":"process_options.cold.2","4294988124":"parse_number.cold.1"}},"capabilities":[{"category":"Security","description":"Keychain, certificates, code signing","source":"/System/Library/Frameworks/Security.framework/Versions/A/Security","value":null}],"code_signature":{"code_directory":{"cdhash":"f200e915ecd9af89381212ffddbf39ede8ccbe93a563a0fe65f88fb603322f70","flag_names":["CS_ADHOC"],"flags":2,"hash_type":2,"identifier":"psktool-55554944870e7be7ebc1375894776580a7f2e6f3","platform":0,"team_id":null},"signing_status":"AdHoc"},"cpp_hierarchy":null,"data_in_code":[],"dna":{"hashes":{"classhash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","cpp_classhash":null,"entitlementhash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","frameworkhash":"0ffc04d140b72f9fe75200f8f5695969f6ed5b43948e8a070cdcc9f6a94b6735","imphash":"759946fb7b56f7c13d5a95188393ded5650f0fe869c789d72783611ec59d336b","sha256_text":"5ade1d9fd2850f40fc6095af59d55ead900400a6587c5ca9965d163103ddeee0","symbolhash":"759946fb7b56f7c13d5a95188393ded5650f0fe869c789d72783611ec59d336b"},"sets":{"apis_called":["OUTLINED_FUNCTION_0","__error","__fpending","__stack_chk_guard","close","dup2","fgets","fprintf","fputs","fwrite","getenv","getpwuid","gnutls_free","gnutls_global_init","gnutls_hex_encode2","gnutls_rnd","gnutls_strdup","gnutls_strerror","issetugid","memcpy","open","parse_number","perror","printf","process_options","snprintf","sprintf","stat","strerror","strerror_override","strlen","strspn","strtol","umask"],"bundle_ids":[],"cpp_classes":[],"entitlements":[],"frameworks":["CoreFoundation","CoreServices","libgnutls.30.dylib","libz.1.dylib","libp11-kit.0.dylib","libidn2.0.dylib","libunistring.5.dylib","libSystem.B.dylib","libtasn1.6.dylib","libhogweed.6.dylib","libnettle.8.dylib","libgmp.10.dylib","libintl.8.dylib","Security"],"iokit_constants":[],"objc_classes":[],"private_frameworks":[],"protocols":[],"signing_status":"Ad-Hoc","static_libs":["FLAC-1.5.0","gettextlib-0.26_1"],"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":1,"cap_storage":0,"cap_system":0,"cpp_classes":0,"cpp_vtable_entries":0,"entitlements_total":0,"file_paths":3,"frameworks_private":0,"frameworks_total":14,"iokit_constants":0,"library_functions":2,"nlist_functions":14,"objc_classes":0,"objc_ivars":0,"objc_methods":0,"objc_protocols":0,"section_count":9,"size_log2":16.117968,"static_lib_count":2,"swift_conformances":0,"swift_protocols":0,"swift_types":0,"telemetry_strings":0,"text_ratio":0.055793025,"url_endpoints":2,"xpc_provides":0}},"dwarf_metadata":null,"entitlements":{"entries":{},"raw_plist":null},"exports":[{"address":20568,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"__fpending"},{"address":0,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"_mh_execute_header"},{"address":20444,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"close_stream"},{"address":16912,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"main"},{"address":18416,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"process_options"},{"address":49152,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"psktool_options"},{"address":19860,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"rpl_fopen"},{"address":20584,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"rpl_strerror"},{"address":19804,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"secure_getenv"},{"address":20760,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"strerror_override"},{"address":19756,"is_reexport":false,"is_thread_local":false,"is_weak":false,"name":"usage"}],"fileset_entries":[],"fingerprint":{"analyzed_at":"2026-04-09T09:14:19Z","available_arches":["arm64"],"binary_type":"executable","bundle_id":null,"cdhash":"f200e915ecd9af89381212ffddbf39ede8ccbe93a563a0fe65f88fb603322f70","file_modified":"2026-04-09T09:14:19Z","file_size":71120,"is_arm64e":false,"min_os":"26.0.0","name":"psktool","platform":"macOS","sdk":"26.1.0","sha256":"1b8f983a552b068ddce87a44c0d6e53c98e855a2a06ca2801bab62214ffd46fc","sha256_slice":"1b8f983a552b068ddce87a44c0d6e53c98e855a2a06ca2801bab62214ffd46fc","source_version":null,"team_id":null,"uuid":"870E7BE7-EBC1-3758-9477-6580A7F2E6F3"},"frameworks":[{"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/CoreServices.framework/Versions/A/CoreServices"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib"},{"is_private":false,"is_weak":false,"name":"/usr/lib/libz.1.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/p11-kit/lib/libp11-kit.0.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/libidn2/lib/libidn2.0.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/libunistring/lib/libunistring.5.dylib"},{"is_private":false,"is_weak":false,"name":"/usr/lib/libSystem.B.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/libtasn1/lib/libtasn1.6.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/nettle/lib/libhogweed.6.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/nettle/lib/libnettle.8.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/gmp/lib/libgmp.10.dylib"},{"is_private":false,"is_weak":false,"name":"/opt/homebrew/opt/gettext/lib/libintl.8.dylib"},{"is_private":false,"is_weak":false,"name":"/System/Library/Frameworks/Security.framework/Versions/A/Security"}],"function_starts_count":14,"imports":[{"address":0,"dylib":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib","is_lazy":false,"is_weak":false,"name":"gnutls_free"},{"address":0,"dylib":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib","is_lazy":false,"is_weak":false,"name":"gnutls_global_init"},{"address":0,"dylib":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib","is_lazy":false,"is_weak":false,"name":"gnutls_hex_encode2"},{"address":0,"dylib":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib","is_lazy":false,"is_weak":false,"name":"gnutls_realloc"},{"address":0,"dylib":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib","is_lazy":false,"is_weak":false,"name":"gnutls_rnd"},{"address":0,"dylib":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib","is_lazy":false,"is_weak":false,"name":"gnutls_strdup"},{"address":0,"dylib":"/opt/homebrew/Cellar/gnutls/3.8.11/lib/libgnutls.30.dylib","is_lazy":false,"is_weak":false,"name":"gnutls_strerror"},{"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":"__memcpy_chk"},{"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":"__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":"close"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"dup2"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"execvp"},{"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":"fclose"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fdopen$DARWIN_EXTSN"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"ferror"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fgets"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fopen$DARWIN_EXTSN"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"fork"},{"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":"fputs"},{"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":"getenv"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"getopt_long"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"getpwuid"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"getuid"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"issetugid"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"memcpy"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"memmove"},{"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":"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":"perror"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"pipe"},{"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":"remove"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"snprintf"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"sprintf"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"stat"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strchr"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strcmp"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strcspn"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strerror"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strlen"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strncmp"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strspn"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"strtol"},{"address":0,"dylib":"/usr/lib/libSystem.B.dylib","is_lazy":false,"is_weak":false,"name":"umask"}],"interesting_strings":{"file_paths":["/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation","/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices","/System/Library/Frameworks/Security.framework/Versions/A/Security"],"urls_and_endpoints":["along with this program.  If not, see <http://www.gnu.org/licenses/>.","version 3 or later <http://gnu.org/licenses/gpl.html>"]},"iokit_surface":null,"library_matches":[],"library_profile":{"libraries":{"FLAC":["1.5.0",1],"gettextlib":["0.26_1",1]},"library_ratio":0.14285715,"total_functions":14,"total_identified":2},"network_surface":{"api_usage":{"callers":[],"classes":[],"methods":[]},"endpoints":[{"is_dynamic":false,"kind":"Url","value":"http://gnu.org/licenses/gpl.html>"},{"is_dynamic":false,"kind":"Hostname","value":"gnu.org"},{"is_dynamic":false,"kind":"Hostname","value":"gnutls.org"},{"is_dynamic":false,"kind":"Url","value":"http://www.gnu.org/licenses/>."},{"is_dynamic":false,"kind":"Hostname","value":"www.gnu.org"}],"has_network_entitlement":false,"network_frameworks":["CoreFoundation"]},"objc_classes":{},"objc_metadata":{"classes":{}},"sections":[{"name":"__text","offset":16912,"protection":"r-x","segment":"__TEXT","size":3968},{"name":"__stubs","offset":20880,"protection":"r-x","segment":"__TEXT","size":540},{"name":"__cstring","offset":21420,"protection":"r-x","segment":"__TEXT","size":2958},{"name":"__const","offset":24378,"protection":"r-x","segment":"__TEXT","size":17},{"name":"__unwind_info","offset":24396,"protection":"r-x","segment":"__TEXT","size":152},{"name":"__got","offset":32768,"protection":"rw-","segment":"__DATA_CONST","size":432},{"name":"__const","offset":33200,"protection":"rw-","segment":"__DATA_CONST","size":288},{"name":"__common","offset":0,"protection":"rw-","segment":"__DATA","size":64},{"name":"__bss","offset":0,"protection":"rw-","segment":"__DATA","size":256}],"summary":"Verifies digital signatures on macOS binaries and frameworks to ensure code integrity and authenticity. Accesses the Keychain to retrieve certificates and signing identities needed for validation operations. Communicates with 5 network endpoints, likely for certificate revocation checks or timestamp validation. Processes file paths and URLs to locate and analyze signed code objects. Operates as a command-line tool with minimal system integration.","swift_metadata":null,"title":"Code signing utility — validates and manages macOS application signatures","total_strings":263,"xpc_services":[]}