Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. @Tachibanaff Tachibanaff created this gist Jan 23, 2020.
    127 changes: 127 additions & 0 deletions mobileactivationd_patch.diff
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,127 @@
    5c5
    < File: /Users/anton/Documents/ifun/firmware/binary_unedited/mobileactivationd
    ---
    > File: /Users/anton/Documents/ifun/firmware/mobileactivationd_2.bin
    20960,20961c20960
    < 0000000100013708 tbz w24, 0x0, loc_100013818
    <
    ---
    > 0000000100013708 nop
    21032,21035c21031,21032
    <
    < loc_100013818:
    < 0000000100013818 ldr x8, [sp, #0x58] ; CODE XREF=sub_1000135b0+344
    < 000000010001381c ldr x3, [x8, #0x28] ; argument #4 for method sub_100003f2c
    ---
    > 0000000100013818 ldr x8, [sp, #0x58]
    > 000000010001381c ldr x3, [x8, #0x28]
    21037c21034
    < 0000000100013824 add x0, x0, #0x121 ; "dealwith_activation", argument #1 for method sub_100003f2c
    ---
    > 0000000100013824 add x0, x0, #0x121
    21039,21041c21036,21038
    < 000000010001382c add x4, x4, #0xff8 ; @"Failed to load or validate activation record."
    < 0000000100013830 movz w1, #0x4b2 ; argument #2 for method sub_100003f2c
    < 0000000100013834 orr w2, wzr, #0xfffffffffffffffe ; argument #3 for method sub_100003f2c
    ---
    > 000000010001382c add x4, x4, #0xff8
    > 0000000100013830 movz w1, #0x4b2
    > 0000000100013834 orr w2, wzr, #0xfffffffffffffffe
    21058,21059c21055,21056
    < 0000000100013878 ldr x24, [x8, #0x590] ; 0x10020d590,@"ActivationState"
    < 000000010001387c b loc_100013990
    ---
    > 0000000100013878 ldr x24, [x8, #0x590]
    > 000000010001387c b sub_1000135b0+992
    31312c31309
    < 000000010001c3d4 movz w4, #0x0 ; CODE XREF=sub_10001b96c+2652
    ---
    > 000000010001c3d4 movz w4, #0x1 ; CODE XREF=sub_10001b96c+2652
    32404c32401
    < 000000010001d2e4 ldr x0, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 000000010001d2e4 ldr x0, [x8, #0x440] ; 0x10020d440,@"Activated"
    51819c51816
    < 000000010002dffc ldr x0, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 000000010002dffc ldr x0, [x8, #0x448] ; 0x10020d448,@"FactoryActivated"
    53923c53920
    < 000000010002ff20 ldr x23, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 000000010002ff20 ldr x23, [x8, #0x440] ; 0x10020d440,@"Activated"
    53930c53927
    < 000000010002ff38 bl imp___stubs__objc_release
    ---
    > 000000010002ff38 nop
    54203c54200
    < 00000001000302fc ldr x0, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 00000001000302fc ldr x0, [x8, #0x440] ; 0x10020d440,@"Activated"
    54207c54204
    < 000000010003030c bl imp___stubs__objc_release
    ---
    > 000000010003030c nop
    54470c54467
    < 0000000100030690 ldr x0, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 0000000100030690 ldr x0, [x8, #0x440] ; 0x10020d440,@"Activated"
    54474c54471
    < 00000001000306a0 bl imp___stubs__objc_release
    ---
    > 00000001000306a0 nop
    54999c54996
    < 0000000100030d7c ldr x0, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 0000000100030d7c ldr x0, [x8, #0x440] ; 0x10020d440,@"Activated"
    55003c55000
    < 0000000100030d8c bl imp___stubs__objc_release
    ---
    > 0000000100030d8c nop
    55387c55384
    < 00000001000312c4 ldr x0, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 00000001000312c4 ldr x0, [x8, #0x440] ; 0x10020d440,@"Activated"
    55391c55388
    < 00000001000312d4 bl imp___stubs__objc_release
    ---
    > 00000001000312d4 nop
    56186c56183
    < 0000000100031dd0 ldr x0, [x8, #0x438] ; 0x10020d438,@"Unactivated"
    ---
    > 0000000100031dd0 ldr x0, [x8, #0x440] ; 0x10020d440,@"Activated"
    1786920c1786917
    < 0000000100201121 db "dealwith_activation", 0 ; DATA XREF=sub_1000135b0+124, sub_1000135b0+540, sub_1000135b0+628, sub_1000135b0+1024
    ---
    > 0000000100201121 db "dealwith_activation", 0 ; DATA XREF=sub_1000135b0+124, sub_1000135b0+540, sub_1000135b0+1024
    1799787,1799789c1799784,1799786
    < 000000010020d438 dq 0x0000000100213918 ; @"Unactivated", DATA XREF=sub_100013a9c+420, sub_10001d004+736, -[MobileActivationDaemon getActivationStateWithCompletionBlock:]+164, -[MobileActivationDaemon handleActivationInfo:withCompletionBlock:]+236, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+200, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+200, -[MobileActivationDaemon copyActivationRecordWithCompletionBlock:]+152, -[MobileActivationDaemon unbrickDeviceWithCompletionBlock:]+208, -[MobileActivationDaemon recertifyDeviceWithCompletionBlock:]+268, -[MobileActivationDaemon handleActivationInfoWithSession:activationSignature:completionBlock:]+268, -[MobileActivationDaemon issueClientCertificateLegacy:WithCompletionBlock:]+348, …
    < 000000010020d440 dq 0x0000000100213938 ; @"Activated", DATA XREF=sub_10000fa30+116, sub_1000135b0+164, sub_1000135b0+1176, sub_10001b96c+2512, sub_10001d004+772, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+232, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+232, -[MobileActivationDaemon copyActivationRecordWithCompletionBlock:]+184, -[MobileActivationDaemon recertifyDeviceWithCompletionBlock:]+300, -[MobileActivationDaemon issueClientCertificateLegacy:WithCompletionBlock:]+380, -[MobileActivationDaemon issueClientCertificateWithReferenceKey:options:completion:]+1400
    < 000000010020d448 dq 0x0000000100213958 ; @"FactoryActivated", DATA XREF=sub_10000fa30+152, sub_1000135b0+964, sub_1000188f8+136, sub_10001b96c+2500
    ---
    > 000000010020d438 dq 0x0000000100213918 ; @"Unactivated", DATA XREF=sub_100013a9c+420, -[MobileActivationDaemon unbrickDeviceWithCompletionBlock:]+208, -[MobileActivationDaemon handleActivationInfoWithSession:activationSignature:completionBlock:]+268, -[MobileActivationDaemon issueClientCertificateWithReferenceKey:options:completion:]+1364
    > 000000010020d440 dq 0x0000000100213938 ; @"Activated", DATA XREF=sub_10000fa30+116, sub_1000135b0+164, sub_1000135b0+1176, sub_10001b96c+2512, sub_10001d004+736, sub_10001d004+772, -[MobileActivationDaemon handleActivationInfo:withCompletionBlock:]+236, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+200, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+232, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+200, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+232, …
    > 000000010020d448 dq 0x0000000100213958 ; @"FactoryActivated", DATA XREF=sub_10000fa30+152, sub_1000135b0+964, sub_1000188f8+136, sub_10001b96c+2500, -[MobileActivationDaemon getActivationStateWithCompletionBlock:]+164
    1800019c1800016
    < 000000010020d590 dq 0x0000000100213e38 ; @"ActivationState", DATA XREF=sub_100009c5c+92, sub_10000fa30+356, sub_1000135b0+152, sub_1000135b0+712, sub_1000135b0+948, sub_100013a9c+408, sub_100017c14+84, sub_1000188f8+100, sub_10001b96c+2644, sub_10001b96c+3808, sub_10001d004+676, …
    ---
    > 000000010020d590 dq 0x0000000100213e38 ; @"ActivationState", DATA XREF=sub_100009c5c+92, sub_10000fa30+356, sub_1000135b0+152, sub_1000135b0+948, sub_100013a9c+408, sub_100017c14+84, sub_1000188f8+100, sub_10001b96c+2644, sub_10001b96c+3808, sub_10001d004+676, sub_1000206d4+44, …
    1805778c1805775
    < 0000000100210ff8 dq ___CFConstantStringClassReference, 0x7c8, 0x10020117d, 0x2d ; "Failed to load or validate activation record.", DATA XREF=sub_1000135b0+636
    ---
    > 0000000100210ff8 dq ___CFConstantStringClassReference, 0x7c8, 0x10020117d, 0x2d ; "Failed to load or validate activation record."
    1806436c1806433
    < 0000000100213918 dq ___CFConstantStringClassReference, 0x7c8, 0x100204256, 0xb ; "Unactivated", DATA XREF=sub_100013a9c+420, sub_10001d004+736, -[MobileActivationDaemon getActivationStateWithCompletionBlock:]+164, -[MobileActivationDaemon handleActivationInfo:withCompletionBlock:]+236, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+200, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+200, -[MobileActivationDaemon copyActivationRecordWithCompletionBlock:]+152, -[MobileActivationDaemon unbrickDeviceWithCompletionBlock:]+208, -[MobileActivationDaemon recertifyDeviceWithCompletionBlock:]+268, -[MobileActivationDaemon handleActivationInfoWithSession:activationSignature:completionBlock:]+268, -[MobileActivationDaemon issueClientCertificateLegacy:WithCompletionBlock:]+348, …
    ---
    > 0000000100213918 dq ___CFConstantStringClassReference, 0x7c8, 0x100204256, 0xb ; "Unactivated", DATA XREF=sub_100013a9c+420, -[MobileActivationDaemon unbrickDeviceWithCompletionBlock:]+208, -[MobileActivationDaemon handleActivationInfoWithSession:activationSignature:completionBlock:]+268, -[MobileActivationDaemon issueClientCertificateWithReferenceKey:options:completion:]+1364, 0x10020d438
    1806438c1806435
    < 0000000100213938 dq ___CFConstantStringClassReference, 0x7c8, 0x100204262, 0x9 ; "Activated", DATA XREF=sub_10000fa30+116, sub_1000135b0+164, sub_1000135b0+1176, sub_10001b96c+2512, sub_10001d004+772, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+232, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+232, -[MobileActivationDaemon copyActivationRecordWithCompletionBlock:]+184, -[MobileActivationDaemon recertifyDeviceWithCompletionBlock:]+300, -[MobileActivationDaemon issueClientCertificateLegacy:WithCompletionBlock:]+380, -[MobileActivationDaemon issueClientCertificateWithReferenceKey:options:completion:]+1400, …
    ---
    > 0000000100213938 dq ___CFConstantStringClassReference, 0x7c8, 0x100204262, 0x9 ; "Activated", DATA XREF=sub_10000fa30+116, sub_1000135b0+164, sub_1000135b0+1176, sub_10001b96c+2512, sub_10001d004+736, sub_10001d004+772, -[MobileActivationDaemon handleActivationInfo:withCompletionBlock:]+236, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+200, -[MobileActivationDaemon copyUCRTWithCompletionBlock:]+232, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+200, -[MobileActivationDaemon copyPCRTTokenWithCompletionBlock:]+232, …
    1806440c1806437
    < 0000000100213958 dq ___CFConstantStringClassReference, 0x7c8, 0x10020426c, 0x10 ; "FactoryActivated", DATA XREF=sub_10000fa30+152, sub_1000135b0+964, sub_1000188f8+136, sub_10001b96c+2500, 0x10020d448
    ---
    > 0000000100213958 dq ___CFConstantStringClassReference, 0x7c8, 0x10020426c, 0x10 ; "FactoryActivated", DATA XREF=sub_10000fa30+152, sub_1000135b0+964, sub_1000188f8+136, sub_10001b96c+2500, -[MobileActivationDaemon getActivationStateWithCompletionBlock:]+164, 0x10020d448
    1806518c1806515
    < 0000000100213e38 dq ___CFConstantStringClassReference, 0x7c8, 0x100204619, 0xf ; "ActivationState", DATA XREF=sub_100009c5c+92, sub_10000fa30+356, sub_1000135b0+152, sub_1000135b0+712, sub_1000135b0+948, sub_100013a9c+408, sub_100017c14+84, sub_1000188f8+100, sub_10001b96c+2644, sub_10001b96c+3808, sub_10001d004+676, …
    ---
    > 0000000100213e38 dq ___CFConstantStringClassReference, 0x7c8, 0x100204619, 0xf ; "ActivationState", DATA XREF=sub_100009c5c+92, sub_10000fa30+356, sub_1000135b0+152, sub_1000135b0+948, sub_100013a9c+408, sub_100017c14+84, sub_1000188f8+100, sub_10001b96c+2644, sub_10001b96c+3808, sub_10001d004+676, sub_1000206d4+44, …