Skip to main content
SA-001 Grade A Phase 1

SA-001 Decompilation Report

`./analysis/facebook/345.0/Facebook.app/Frameworks/FBSharedFramework.framework/FBSharedFramework`

Technical Diagrams

Critical Evidence Summary Line 217
| Finding | Address | Evidence Type | Grade |
|---------|---------|---------------|-------|
| XRay audio embedding model | Multiple | ML model files | A |
| musicEmbeddingsForEditingAttachment | 0x01ff01b2 | Property/Network field | A |
| disableUploadOverlayInputData | GPU filter | Boolean flag (default FALSE) | A- |
| FBSnacksThreadMediaPostMedia | 0x003d1ae0 | Network upload function | A |
| FBVideoAudioFrameChecksumBuffer | Class | Audio integrity/tracking | B+ |

Code Evidence

Objective-C
initWithEnablePostCaptureMusicPicker:animatedLyricsStyleList:maxTrimDuration:promotedSongID:
musicTrack:shouldScrubberBeOpen:shouldSFVScrubberBeOpen:highlightTrimRanges:isPaused:
undoEditContext:undoSelectContext:isLoadingSong:browseSessionID:audioLibraryProduct:
selectionSource:useDASHManifest:isLoadingDASHSegment:musicEmbeddingsForEditingAttachment:
musicConceptsForEditingAttachment:volume:hasManualVolumeAdjustments:defaultStartTime:
Assembly
_FBInspirationMusicTrackWithAudioAsset:
    stp x29, x30, [sp, -0x10]!
    bl  fcn.00008288                    ; Stack setup
    sub sp, sp, 0x40
    adrp x8, reloc.FBStoryEditData       ; 0x1b99000
    ldr x20, [x8, 0x9e0]                ; Load FBInspirationMusicTrack class
    bl  sym.imp.objc_retain
    bl  fcn.0001f63c
    mov x21, x0
    ldr x0, [x8, 0x3b0]                 ; Load FBTimeRangeContainer class
    ldr x8, reloc.kCMTimeRangeZero
    ldp q0, q1, [x8]                    ; Load CMTimeRange data
    ldr x1, "containerWithCMTimeRange:"
    bl  sym._DefaultVideoFadeIn
    bl  sym._DefaultVideoFadeOut
    bl  sym._DefaultMusicFadeIn
    bl  sym._DefaultMusicFadeOut
    fmov d0, -18.0                      ; Volume level: -18dB
    bl  fcn.012e5fa4                    ; Create music track object
C
{FBDynamicImageOverlayFilterUniformData=
    "contentTransform"{?="columns"[4]}  // 4x4 transformation matrix
}
Objective-C
initWithDisableDelete:disableMove:disableResize:disableRotate:
    disableBurningImageIntoFinalAsset:
    disableUploadOverlayInputData:      // <-- KEY FINDING
    zPosition:restrictedMoveOutsideGuidelines:
    customGuidelinesMargins:initialScale:
Assembly
_FBInspirationEditingPerformanceTrackerAddVideoKindAnnotation:
    cbz x0, 0xb10b44              ; NULL check
    cmp x0, 1
    b.ne 0xb10b50
    adrp x2, str.cstr.PRAYER_FORMAT
    add x2, x2, 0x7e0             ; "VIDEO" annotation
    b 0xb10b58
loc_b10b44:
    adrp x2, str.cstr.PRAYER_FORMAT
    add x2, x2, 0x7a0             ; "PHOTO" annotation
    b 0xb10b58
loc_b10b50:
    adrp x2, str.cstr.PRAYER_FORMAT
    add x2, x2, 0x7c0             ; "OTHER" annotation
loc_b10b58:
    adrp x1, str.cstr.PRAYER_FORMAT
    add x1, x1, 0x740             ; Annotation key
    b 0x935158                    ; Jump to logging function
Assembly
_FBSnacksThreadMediaPostMedia:
    stp x29, x30, [sp, -0x10]!
    bl  0x7728                    ; Stack frame setup
    bl  0x3cf200                  ; Get media data
    bl  0x3cf2b8                  ; Process for upload
    mov x29, x29
    bl  sym.imp.objc_retainAutoreleasedReturnValue
    bl  0x7e90                    ; Finalize
    bl  0x79c8
    b   sym.imp.objc_autoreleaseReturnValue
Plain Text
[Audio Capture]
       |
       v
[CMSampleBuffer] --> session:didOutputAudioSampleBuffer:
       |
       v
[FBMediaAnalyzerXRayInput] --> XRay ML Model
       |
       v
[FBMediaAnalyzerXRayOutput] --> setXrayEmbedding:
       |
       v
[FBInspirationMusicTrack] <-- FBInspirationMusicTrackWithAudioAsset
       |
       v
[musicEmbeddingsForEditingAttachment] --> NSArray
       |
       v
[FBComposerEditingAttachment]
       |
       v
[FBDynamicImageOverlayFilter] --> GPU processing
       |
       v
[FBSnacksEditingAttachmentFromMediaAttachment]
       |
       v
[FBSnacksThreadMediaPostMedia] --> Network Upload
       |
       v
[Facebook Servers] --> music_embeddings_for_editing_attachment field

**Agent ID:** a771cea **Date:** 2025-12-30 **Status:** Completed **Grade:** A


Binary Analyzed

`./analysis/facebook/345.0/Facebook.app/Frameworks/FBSharedFramework.framework/FBSharedFramework` **File Type**: Mach-O 64-bit ARM64 (40.7MB)


Target 1: musicEmbeddingsForEditingAttachment

Addresses

    undefined

Signature

Objective-C
initWithEnablePostCaptureMusicPicker:animatedLyricsStyleList:maxTrimDuration:promotedSongID:
musicTrack:shouldScrubberBeOpen:shouldSFVScrubberBeOpen:highlightTrimRanges:isPaused:
undoEditContext:undoSelectContext:isLoadingSong:browseSessionID:audioLibraryProduct:
selectionSource:useDASHManifest:isLoadingDASHSegment:musicEmbeddingsForEditingAttachment:
musicConceptsForEditingAttachment:volume:hasManualVolumeAdjustments:defaultStartTime:

Analysis

The `musicEmbeddingsForEditingAttachment` property is an `NSArray` that carries ML-generated audio embeddings through the editing pipeline.

**Key findings:**

    undefined

**Evidence Grade**: A - Direct evidence of audio embedding computation and network serialization field.


Target 2: FBInspirationMusicTrackWithAudioAsset

Address: `0x00b28144`

Disassembly

Assembly
_FBInspirationMusicTrackWithAudioAsset:
    stp x29, x30, [sp, -0x10]!
    bl  fcn.00008288                    ; Stack setup
    sub sp, sp, 0x40
    adrp x8, reloc.FBStoryEditData       ; 0x1b99000
    ldr x20, [x8, 0x9e0]                ; Load FBInspirationMusicTrack class
    bl  sym.imp.objc_retain
    bl  fcn.0001f63c
    mov x21, x0
    ldr x0, [x8, 0x3b0]                 ; Load FBTimeRangeContainer class
    ldr x8, reloc.kCMTimeRangeZero
    ldp q0, q1, [x8]                    ; Load CMTimeRange data
    ldr x1, "containerWithCMTimeRange:"
    bl  sym._DefaultVideoFadeIn
    bl  sym._DefaultVideoFadeOut
    bl  sym._DefaultMusicFadeIn
    bl  sym._DefaultMusicFadeOut
    fmov d0, -18.0                      ; Volume level: -18dB
    bl  fcn.012e5fa4                    ; Create music track object

Analysis

Creates `FBInspirationMusicTrack` from audio asset:

    undefined

**Evidence Grade**: B+ - Clear audio asset processing pipeline


Target 3: FBDynamicImageOverlayFilter (GPU Steganography)

Addresses

    undefined

Uniform Data Structure

C
{FBDynamicImageOverlayFilterUniformData=
    "contentTransform"{?="columns"[4]}  // 4x4 transformation matrix
}

Critical Parameters

Objective-C
initWithDisableDelete:disableMove:disableResize:disableRotate:
    disableBurningImageIntoFinalAsset:
    disableUploadOverlayInputData:      // <-- KEY FINDING
    zPosition:restrictedMoveOutsideGuidelines:
    customGuidelinesMargins:initialScale:

Analysis

The `disableUploadOverlayInputData` boolean flag controls whether overlay data is uploaded to servers. When FALSE (default), overlay input data is transmitted. The GPU filter:

    undefined

**Evidence Grade**: A- - GPU overlay system with explicit upload control flag


Target 4: FBInspirationEditingPerformanceTrackerAddVideoKindAnnotation

Address: `0x00b10b2c`

Disassembly

Assembly
_FBInspirationEditingPerformanceTrackerAddVideoKindAnnotation:
    cbz x0, 0xb10b44              ; NULL check
    cmp x0, 1
    b.ne 0xb10b50
    adrp x2, str.cstr.PRAYER_FORMAT
    add x2, x2, 0x7e0             ; "VIDEO" annotation
    b 0xb10b58
loc_b10b44:
    adrp x2, str.cstr.PRAYER_FORMAT
    add x2, x2, 0x7a0             ; "PHOTO" annotation
    b 0xb10b58
loc_b10b50:
    adrp x2, str.cstr.PRAYER_FORMAT
    add x2, x2, 0x7c0             ; "OTHER" annotation
loc_b10b58:
    adrp x1, str.cstr.PRAYER_FORMAT
    add x1, x1, 0x740             ; Annotation key
    b 0x935158                    ; Jump to logging function

Analysis

Annotates captured media with type information:

    undefined

**Evidence Grade**: B - Annotation pipeline, not direct audio-to-network bridge


Target 5: FBSnacksThreadMediaPostMedia

Address: `0x003d1ae0`

Disassembly

Assembly
_FBSnacksThreadMediaPostMedia:
    stp x29, x30, [sp, -0x10]!
    bl  0x7728                    ; Stack frame setup
    bl  0x3cf200                  ; Get media data
    bl  0x3cf2b8                  ; Process for upload
    mov x29, x29
    bl  sym.imp.objc_retainAutoreleasedReturnValue
    bl  0x7e90                    ; Finalize
    bl  0x79c8
    b   sym.imp.objc_autoreleaseReturnValue

Connected Functions

    undefined

**Evidence Grade**: A - Direct network upload function for processed media


Data Flow Reconstruction

Plain Text
[Audio Capture]
       |
       v
[CMSampleBuffer] --> session:didOutputAudioSampleBuffer:
       |
       v
[FBMediaAnalyzerXRayInput] --> XRay ML Model
       |
       v
[FBMediaAnalyzerXRayOutput] --> setXrayEmbedding:
       |
       v
[FBInspirationMusicTrack] <-- FBInspirationMusicTrackWithAudioAsset
       |
       v
[musicEmbeddingsForEditingAttachment] --> NSArray
       |
       v
[FBComposerEditingAttachment]
       |
       v
[FBDynamicImageOverlayFilter] --> GPU processing
       |
       v
[FBSnacksEditingAttachmentFromMediaAttachment]
       |
       v
[FBSnacksThreadMediaPostMedia] --> Network Upload
       |
       v
[Facebook Servers] --> music_embeddings_for_editing_attachment field

Critical Evidence Summary

FindingAddressEvidence TypeGrade
XRay audio embedding modelMultipleML model filesA
musicEmbeddingsForEditingAttachment0x01ff01b2Property/Network fieldA
disableUploadOverlayInputDataGPU filterBoolean flag (default FALSE)A-
FBSnacksThreadMediaPostMedia0x003d1ae0Network upload functionA
FBVideoAudioFrameChecksumBufferClassAudio integrity/trackingB+

Conclusion

The analysis provides **Grade A evidence** for both H3 (Steganography) and H4 (Network Exfiltration):

    undefined

*SA-001 Decompilation Report - Generated 2025-12-30*

Related Reports

Phase 1 Navigation