{"guid":"8b330e07-24da-5330-b5cd-092918d3c3b1","title":"Demystify Mach-O","subtitle":null,"slug":"camp2023-57032-demystify_mach_o","link":"https://pretalx.c3voc.de/camp2023/talk/8KFF9C/","description":"A deep dive explaining the Mach-O executable format along side a code demo.\n\nApple systems can be quite obscure and archaic considering how popular and ubiquitous their devices are. Learning more about apple systems for any purpose therefore requires a healthy amount of reverse engineering. A core part of reverse engineering Apple systems is understanding the Mach-O file format which is how all Apple OSes describe executable files. This talk will provide an in depth explanation of the file format as well as a code example showing how we can parse Mach-O objects at runtime to show a loaded system libraries Obj-C class hierarchy.","original_language":"eng","persons":["Garrigan"],"tags":["camp2023","57032","2023","Milliways",""],"view_count":203,"promoted":false,"date":"2023-08-17T09:30:00.000+02:00","release_date":"2023-08-17T00:00:00.000+02:00","updated_at":"2026-03-16T09:00:04.914+01:00","length":2053,"duration":2053,"thumb_url":"https://static.media.ccc.de/media/conferences/camp2023/57032-8b330e07-24da-5330-b5cd-092918d3c3b1.jpg","poster_url":"https://static.media.ccc.de/media/conferences/camp2023/57032-8b330e07-24da-5330-b5cd-092918d3c3b1_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/camp2023/57032-8b330e07-24da-5330-b5cd-092918d3c3b1.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/camp2023/57032-8b330e07-24da-5330-b5cd-092918d3c3b1.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/camp2023-57032-demystify_mach_o","url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_title":"Chaos Communication Camp 2023","conference_url":"https://api.media.ccc.de/public/conferences/camp2023","related":[],"recordings":[{"size":null,"length":null,"mime_type":"application/x-subrip","language":"eng","filename":"DRAFT_camp2023-57032-eng-Demystify_Mach-O.en_DRAFT.srt","state":"todo","folder":"","high_quality":true,"width":null,"height":null,"updated_at":"2024-02-11T16:45:39.249+01:00","recording_url":"https://cdn.media.ccc.de/events/camp2023/DRAFT_camp2023-57032-eng-Demystify_Mach-O.en_DRAFT.srt","url":"https://api.media.ccc.de/public/recordings/74643","event_url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_url":"https://api.media.ccc.de/public/conferences/camp2023"},{"size":341,"length":2053,"mime_type":"video/webm","language":"eng","filename":"camp2023-57032-eng-Demystify_Mach-O_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-08-18T05:15:38.462+02:00","recording_url":"https://cdn.media.ccc.de/events/camp2023/webm-hd/camp2023-57032-eng-Demystify_Mach-O_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/69001","event_url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_url":"https://api.media.ccc.de/public/conferences/camp2023"},{"size":119,"length":2053,"mime_type":"video/webm","language":"eng","filename":"camp2023-57032-eng-Demystify_Mach-O_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-08-18T01:01:30.684+02:00","recording_url":"https://cdn.media.ccc.de/events/camp2023/webm-sd/camp2023-57032-eng-Demystify_Mach-O_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/68931","event_url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_url":"https://api.media.ccc.de/public/conferences/camp2023"},{"size":92,"length":2053,"mime_type":"video/mp4","language":"eng","filename":"camp2023-57032-eng-Demystify_Mach-O_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-08-18T00:12:03.481+02:00","recording_url":"https://cdn.media.ccc.de/events/camp2023/h264-sd/camp2023-57032-eng-Demystify_Mach-O_sd.mp4","url":"https://api.media.ccc.de/public/recordings/68910","event_url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_url":"https://api.media.ccc.de/public/conferences/camp2023"},{"size":22,"length":2053,"mime_type":"audio/opus","language":"eng","filename":"camp2023-57032-eng-Demystify_Mach-O_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2023-08-18T00:00:34.204+02:00","recording_url":"https://cdn.media.ccc.de/events/camp2023/opus/camp2023-57032-eng-Demystify_Mach-O_opus.opus","url":"https://api.media.ccc.de/public/recordings/68905","event_url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_url":"https://api.media.ccc.de/public/conferences/camp2023"},{"size":31,"length":2053,"mime_type":"audio/mpeg","language":"eng","filename":"camp2023-57032-eng-Demystify_Mach-O_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2023-08-17T23:58:58.853+02:00","recording_url":"https://cdn.media.ccc.de/events/camp2023/mp3/camp2023-57032-eng-Demystify_Mach-O_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/68903","event_url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_url":"https://api.media.ccc.de/public/conferences/camp2023"},{"size":393,"length":2053,"mime_type":"video/mp4","language":"eng","filename":"camp2023-57032-eng-Demystify_Mach-O_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-08-17T23:58:45.500+02:00","recording_url":"https://cdn.media.ccc.de/events/camp2023/h264-hd/camp2023-57032-eng-Demystify_Mach-O_hd.mp4","url":"https://api.media.ccc.de/public/recordings/68902","event_url":"https://api.media.ccc.de/public/events/8b330e07-24da-5330-b5cd-092918d3c3b1","conference_url":"https://api.media.ccc.de/public/conferences/camp2023"}]}