Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Take a peep at .app

Take a peep at .app

How to dig into Apple's app.

griffin-stewie

December 08, 2017
Tweet

More Decks by griffin-stewie

Other Decks in Technology

Transcript

  1. Take a peep at .app
    @griffin-stewie

    View full-size slide

  2. Fenrir Inc.
    @griffin-stewie

    View full-size slide

  3. • ۀ຿಺ͰʮApple ͷ˓˓ΞϓϦ෩ͳײ͡ʯ
    • ࣮ࡍʹͲ͏΍ͬͯΔͷ͔ؾʹͳΔ

    View full-size slide

  4. We can do it!

    View full-size slide

  5. iOS Simulator ͰͳΒ
    • Xcode ͷ Attach To Process
    • ϓϩηε໊͕෼͔Ε͹͍͚Δ
    • ViewDebugging Ͱߏ଄͕෼͔Δ
    • LLDB Ͱ಺෦࣮૷͕෼͔Δ

    View full-size slide

  6. 1. Xcode Ͱద౰ͳϓϩδΣΫτΛ։͘
    2. γϛϡϨʔλͰ Debug Run
    3. ର৅ΞϓϦΛγϛϡϨʔλͰىಈͤ͞Δ
    4. Attach To Process
    5. ViewDebugging ։࢝
    खॱ

    View full-size slide

  7. How to find?

    View full-size slide

  8. ද໊ࣔ ϓϩηε໊
    ΧϨϯμʔBQQ .PCJMF$BM
    ࣸਅBQQ .PCJMF4MJEF4IPX
    ஍ਤBQQ .BQT
    /FXTBQQ /FXT
    ϦϚΠϯμʔBQQ 3FNJOEFST
    ϔϧεέΞBQQ )FBMUI
    8BMMFUBQQ 1BTTCPPL
    ઃఆBQQ 1SFGFSFODFT
    J.FTTBHFTBQQ .PCJMF4.4
    4BGBSJBQQ .PCJMF4BGBSJ
    ࿈བྷઌBQQ $POUBDUT
    ϗʔϜը໘ 4QSJOH#PBSE

    View full-size slide

  9. LLDBͰΰχϣΰχϣ
    • View Λબ୒
    • ӈϖΠϯ OnjectInspector ʹΞυϨε͕͋Δ
    • Console ʹίϐϖͯ͠ϝιουݺͼग़͠

    View full-size slide

  10. Swift Ͱ΍Ζ͏ͱ͢Δͱ
    • Framework ͷΠϯϙʔτ͕ඞཁ
    • Ωϟετ͕ඞཁ
    • ͦ΋ͦ΋ະ஌ͷΞϓϦͩͱ࿩ʹͳΒͳ͍

    View full-size slide

  11. ͜͜Ͱ Objective-C

    View full-size slide

  12. Objective-C ͳΒ
    • Framework ͷΠϯϙʔτ͕ෆཁ
    • (ิ׬͕͍Βͳ͍ͳΒ)Ωϟετ͕ෆཁ
    • ະ஌Ͱ΋ؔ܎ͳ͍

    View full-size slide

  13. ಘΒΕͨ஌ݟ
    • Apple ͸ Container ViewController Λଟ༻͍ͯ͠
    Δ
    • UIWindow.rootViewController ͕ΧελϜ
    ViewController
    • Ϋϥε໊ͷ໋໊ͷࢀߟ

    View full-size slide

  14. ͓·͚
    • Ϋϥεͷ಺෦࣮૷·ͰݟΔͷ͸ςΫ͕͍Δ
    • LLDB Plugin (Chisel) ศར
    • ࣮ػͰ΋σόοάγϯϘϧ͕͋Ε͹ʁࣗ෼͕Ϗϧ
    υͯ͠ͳ͍ΞϓϦͰ΋ Attach ͯ͠ͷ͚ͧΔ

    View full-size slide