Slide 1

Slide 1 text

ҭࣇٳۀͷ͝ใࠂͱɺ
 ҭࣇάοζͱͯ͠ͷεϚʔτεϐʔΧʔ ന౔ܛ, Kei Shiratsuchi, @kei_s ϨτϦόηϛφʔ, 2018.05.16(Wed)

Slide 2

Slide 2 text

ࣗݾ঺հ • ന౔ɹܛʢγϥπνɹέΠʣ • גࣜձࣾϨτϦό • 2016೥4݄ೖࣾ • Ruby on Rails / JavaScript / Python / Elixir (new!) • ϑϩϯτΤϯυଆͷ։ൃ • େֶ࣌୅͸ෳࡶωοτϫʔΫՊֶͷݚڀ

Slide 3

Slide 3 text

ҭࣇٳۀͷ͝ใࠂ

Slide 4

Slide 4 text

ࢠͷ஀ੜ • 2018/01/25 • ୈҰࢠ(່)͕஀ੜ • 2018/03/05 • ҭࣇٳۀऔಘ • 2018/05/07 • ҭࣇٳۀ͔Β෮ؼ • ·Δ·Δ2ϲ݄ͷҭࣇٳۀΛऔಘ

Slide 5

Slide 5 text

ҭࣇٳۀͱ͸ • ҭࣇٳۀ - Wikipedia ‣ ҭࣇٳۀʢ͍͖͘͡Ύ͏͗ΐ͏ʣͱ͸ɺࢠΛཆҭ͢Δ ࿑ಇऀ͕๏཯ʹج͍ͮͯऔಘͰ͖Δٳۀͷ͜ͱͰ͋Δ ‣ औಘ͢Δऀͷஉঁ͸໰Θͳ͍ɻ·ͨɺࢠ͕࣮ࢠͰ͋Δ ͔ཆࢠͰ͋Δ͔΋໰Θͳ͍ɻ ‣ Ո଒ͳͲͰࣄ্࣮ɺࢠͷੈ࿩͕Մೳͳऀ͕͍ͯ΋ɺͦ Εʹؔ܎ͳ͘औಘ͸ՄೳͰ͋Δɻ

Slide 6

Slide 6 text

ҭࣇٳۀͷ๏཯ • ʮҭࣇٳۀɺհޢٳۀ౳ҭࣇຢ͸Ո଒հޢΛߦ͏࿑ಇ ऀͷ෱ࢱʹؔ͢Δ๏཯ʯ ‣ ࣄۀओ͸ɺ࿑ಇऀ͔Βͷҭࣇٳۀਃग़͕͋ͬͨͱ͖͸ɺ ౰֘ҭࣇٳۀਃग़ΛڋΉ͜ͱ͕Ͱ͖ͳ͍ʢୈ6৚ʣ ‣ ࣄۀओ͸ɺ࿑ಇऀ͕ҭࣇٳۀͷਃग़Λ͠ɺຢ͸ҭࣇٳ ۀΛͨ͜͠ͱΛཧ༝ͱͯ͠ɺ౰֘࿑ಇऀʹରͯ͠ղޏ ͦͷଞෆརӹͳऔѻ͍Λͯ͠͸ͳΒͳ͍ʢୈ10৚ʣ

Slide 7

Slide 7 text

ҭࣇٳۀͷظؒ • ҭࣇٳۀ͸ɺࢠ͕1ࡀʹୡ͢Δ·Ͱͷؒʹऔಘ͢Δ͜ͱ ͕Ͱ͖ΔʢݪଇɻԆ௕نఆ΋͋Δʣ • ҭࣇٳۀ͸ݪଇͱͯ͠ಉҰͷࢠʹ͍ͭͯ࿑ಇऀҰਓʹ ͖ͭ1ճݶΓߦ͏͜ͱ͕Ͱ͖Δ

Slide 8

Slide 8 text

ҭࣇٳۀͱ͓ۚ • ҭࣇٳۀڅ෇੍౓ • ޏ༻อݥͷ࿮૊ΈͷதͷҰͭ • ݪଇͱͯ͠ٳۀ։࢝࣌௞ۚ೔ֹ×ࢧڅ೔਺ͷ67% • ҭࣇٳۀͷ։͔࢝Β180೔ܦաޙ͸50% • (ৄ͍͜͠ͱ͸όοΫΦϑΟεͷํʹ…)

Slide 9

Slide 9 text

ͳͥҭࣇٳۀͨ͠ͷʁ • Ͱ͖ΔͷͰ… • ༗څٳՋʹཧ༝Λॻ͔ͳ͍ͷͱಉ͡Ͱ͸… • ͱ͸͍͑ɺஉੑͰҭٳΛऔΔਓ͸·ͩগͳ͍ • உੑ΋ҭٳͱΔ(ͱΕΔ)ࣾձͷํ͕શମతʹੜ͖΍ͦ͢ ͏ͳͷͰɺͦ͏ͳͬͯ΄͍͠

Slide 10

Slide 10 text

ϨτϦόͰͷҭࣇٳۀ • ʮҭࣇٳۀͱΖ͏ͱࢥͬͯΔΜͰ͕͢ʯ
 ʮ͓ͬɺྃղͰ͢ʂʯ • ΊͬͪΌ͋Γ͕͍ͨ • 1ྫ໨ͩͬͨͷͰɺ੍౓Λ੔උͯ͠΋Βͬͨ • ҭٳऔಘલ͔Βɺక੾͕͖ͭ͘ͳ͍λεΫΛ࣋ͬͨΓɺ ࣗ୐࡞ۀΛڐՄͯ͠΋ΒͬͨΓɺௐ੔ͯ͠΋Βͬͨ

Slide 11

Slide 11 text

զ͕Ոͷ৔߹ͷҭࣇٳۀͷ༷ࢠ

Slide 12

Slide 12 text

લఏ • ҭٳ։࢝࣌఺Ͱɺ່͸ੜޙ1ϲ݄ • ࠷ॳͷҰϲ݄͸ɺ࠺ͷ࣮ՈͰ͓ੈ࿩ʹͳ͍ͬͯͨ • ࠺΋ҭٳऔಘத

Slide 13

Slide 13 text

ಥવٽ͘ • ͕ɺཧ༝͸ෆ໌ • ͩΜͩΜύλʔϯԽ͞Εͯ͘Δ • ͓ෲ͕ۭ͍ͨɺΦϜπΛସ͑ͯ΄͍͠ɺ຾͍ • ͲΕ΋μϝͳ࣌͸ɺແݶ๊ͬ͜

Slide 14

Slide 14 text

৸ΒΕͳ͍ • ੺ͪΌΜ͸ң͕খ͍͞ͷͰɺ͙͢ʹ͓ෲ͕ۭ͘ • ໷ɺ2~3͓͖࣌ؒʹतೕ͢Δඞཁ͕͋Δ • ى͖ͯٽ͘ˠϛϧΫ४උˠҿ·ͤΔˠ͛ͬ΀ˠ৸͔ͭ͠ ͚ʢˠᄡೕළચড়ɾফಟʣ • 3͓͖࣌ؒͱݴ͍ͭͭɺ࣮࣭৸ΒΕΔͷ͸2࣌ؒͪΐͬͱ • Ֆค঱ͷقઅͰɺҰ౓ى͖Δͱ৸෇͚ͳ͍…

Slide 15

Slide 15 text

࠺ͷμϝʔδ • ग़࢈ͷμϝʔδ͸͔ͳΓਂࠁ • ී௨ʹಈ͚Δ͜ͱΛલఏʹͯ͠͸͍͚ͳ͍ • ཱͯͳ͍ɺา͚ͳ͍ɺ಄௧ɺශ݂ɺ… • པΕΔ΋ͷ͸པΔ • ෉ɺδδόόɺපӃɺ๚໰ॿ࢈ࢣɺγολʔ • ࣏ࣗମͷࢠҭͯࢧԉͰඅ༻ॿ੒͕͋ͬͨΓ

Slide 16

Slide 16 text

ਓ͕૿͑Δʹ෺͕૿͑Δ • ࣮ՈʹཬؼΓग़࢈͕ͩͬͨɺ໭ͬͯ͘Δͱ͖
 ՙ෺͕ഒ૿ͨ͠ • ϕουɺΦϜπɺணସ͑ɺͳͲͳͲ… • ݄ྸʹΑͬͯඞཁͳ΋ͷ͕มΘ͍ͬͯ͘ • ΦϜπͷαΠζɺقઅʹ߹Θͤͨ෰… • ՈͷϦϑΝΫλϦϯά • ཁΒͳ͍΋ͷΛࣺͯΔɺ֦ு͠΍͍͢ऩೲάοζΛἧ͑Δ

Slide 17

Slide 17 text

಺ॕ͍ɺΠϕϯτ • ͍͍͓ͨͩͨॕ͍ͷֹۚʹ߹Θͤͯɺ಺ॕ͍Λ
 ݕ౼ͯ͠ൃ஫͢Δ • δδόόɺ਌଒ɺ༑ਓͷདྷ๚ͷ೔ఔΛௐ੔ͯ͠ɺ͓΋ ͯͳ͢͠Δ • ͱͯ΋͋Γ͕͍ͨʢ͕ɺҙ֎ͱ๩͍͠…!ʣ

Slide 18

Slide 18 text

ҭࣇٳۀͷ͍͋ͩͷ·ͱΊ • ʮٳۀʯ͚ͩͲʮٳΈʯ͸ͳ͍…! • ҭٳऔಘͯ͠Α͔ͬͨ…! • ओʹਭ຾ෆ଍Λղফ͠ͳ͍ͱ࢓ࣄʹͳΒͳ͍ • ੺ͪΌΜΛҭͯΔͷ͸ɺ1ਓ݄Ͱ͸ෆՄೳ • ෉ɺ਌଒ɺ࣏ࣗମʹཔΔ

Slide 19

Slide 19 text

ײँ • ҭٳΛͱΕͯɺͱͯ΋ॿ͔Γ·ͨ͠ʂ • ձࣾͷօ༷ɺຊ౰ʹ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

Slide 20

Slide 20 text

ҭࣇάοζͱͯ͠ͷεϚʔτεϐʔΧʔ

Slide 21

Slide 21 text

ঢ়گ • ੜޙ2ϲ݄Λ௒͑ͯɺগͣͭ͠༨༟͕Ͱ͖͖ͯͨ • िʹ߹ܭ3࣌ؒ͘Β͍ࡉ੾Εʹ࣌ؒΛׂ͚ΔΑ͏ʹ • ࣗ୐Λ΋ͬͱศརʹ͍ͨ͠ • εϚʔτεϐʔΧʔ͕ؾʹͳΔ

Slide 22

Slide 22 text

Google Home • Google Home Λߪೖ • ϤυόγͰ൒ֹΩϟϯϖʔϯதͩͬͨʂ

Slide 23

Slide 23 text

εϚʔτεϐʔΧʔΛͲ͏࢖͏ʁ • ʮԻ੠ʯ͸ͱͯ΋༗༻ • Ի੠Ͱૢ࡞͢Δ • ՈిΛίϯτϩʔϧ͢Δ • Ի੠Ͱه࿥͢Δ • ͓Ήͭସ͑Λه࿥͢Δ • Ի੠Ͱ௨஌͢Δ • σδΧϝͷࣗಈΞοϓϩʔυΛ஌ΒͤΔ

Slide 24

Slide 24 text

Ի੠ͰՈిΛૢ࡞͢Δ

Slide 25

Slide 25 text

ՈిΛૢ࡞(1) • εϚʔτ੺֎ઢϦϞίϯ Nature Remo • Google Home ࿈ܞͯ͠ɺςϨϏɺΤΞίϯΛૢ࡞

Slide 26

Slide 26 text

ศརͳγνϡΤʔγϣϯ • ʮগ͠৸ͨͬΆ͍͔ΒɺςϨϏ͚ͭͯΈΑʯ
 ʢ͠͹ͯ͠͠ʣ
 ʮ͋Βɺٽ͖͸͡Ίͨ…!ʯ
 ʢ๊ͬ͜ʣ
 ʢςϨϏফ͍ͨ͠…͕ɺख͕;͕͍ͬͯ͞Δ…!ʣ
 ʮΦοέʔάʔάϧɺςϨϏফͯ͠ʂʯ

Slide 27

Slide 27 text

ՈిΛૢ࡞(2) • ੠Ͱૢ࡞Ͱ͖Δͷ͸ΊͬͪΌศར • ੺֎ઢϦϞίϯ͕ͳ͍Ոి΋ૢ࡞͍ͨ͠ͷͰɺ
 Switch Bot ΋ಋೖͨ͠ • ෺ཧϘλϯΛԡͤΔ • Google Home ࿈ܞػೳ͋Γ • ʮΦοέʔάʔάϧɺচஆ๪ফͯ͠ʂʯ

Slide 28

Slide 28 text

΋ͬͱศརʹ࢖͑ͦ͏ • ͔ͤͬ͘ͳͷͰϦϋϏϦతʹίʔυॻ͖͍ͨ • ॻ͍ͨ • https://github.com/shiratsuchi/home-hack • ໔੹ࣄ߲ɿREADME.md ͕ͳ͍ɺҰఆঢ়گͰಈ࡞͠ͳ͍ɺ ΢νҎ֎ͷ؀ڥͰࢼͯ͠ͳ͍

Slide 29

Slide 29 text

Ի੠Ͱ͓Ήͭସ͑Λه࿥͢Δ

Slide 30

Slide 30 text

͓Ήͭସ͑Λه࿥͢Δ • तೕɺ͓ͬ͜͠ɺ͏Μͪͷه࿥ Λ͢Δඞཁ͕͋Δ • ࢠͷ݈߁ঢ়ଶͷ೺Ѳ • ʮϐϤΖ͙ʯͱ͍͏ΞϓϦ • ෳ਺ਓͰొ࿥ɺڞ༗Ͱ͖Δ

Slide 31

Slide 31 text

͓Ήͭସ͑Λه࿥͢Δ • ه࿥͠๨ΕΔʂ • ͓Ήͭସ͑ͨ͠Βେମ๊ͬ͜ʹҠߦ • εϚϗ࣋ͯͳ͍ • ๊ͬ͜ऴΘͬͨΒه࿥͠๨ΕͯΔ • ʮΦοέʔάʔάϧɺ͓ͬ͜͠ه࿥ͯ͠ʂʯ

Slide 32

Slide 32 text

͓Ήͭସ͑Λه࿥͢Δ • ϐϤΖ͙ʹެ։ API ͸ͳ͍ • ΞϓϦͷ௨৴Λ೷͍ͯɺඇެ։ API Λղੳ • ͱΓ͋͑ͣ Wireshark • SSL (https) ͳͷͰ
 ݟΕͳ͍…!

Slide 33

Slide 33 text

͓Ήͭସ͑Λه࿥͢Δ • BurpSuite • SSL ௨৴ؒʹϓϩΩγͯ͠ɺ҉߸ԽΛղআɺ࠶҉߸Խ ͢Δ͜ͱͰ௨৴ΛΈΔ • ͍ΘΏΔதؒऀ(Man-in-the-middle)߈ܸ • WEB+DB PRESS Vol.103 Ͱղઆ͞Ε͍ͯΔ

Slide 34

Slide 34 text

͓Ήͭସ͑Λه࿥͢Δ • PC Ͱ Burp Suite ىಈɺϓϩΩγϙʔτ൪߸ઃఆ • iPhone Ͱ PC ͷ IP, Port ʹϒϥ΢βΞΫηεɺূ໌ॻΠϯε τʔϧ • iPhone ͷ Wi-fi ઃఆͰɺ PC ͷ IP, Port ΛϓϩΩγઃఆ • ʮઃఆ>Ұൠ>৘ใ>ূ໌ॻ৴པઃఆʯͰɺΠϯετʔϧ ͨ͠ূ໌ॻΛʮશ໘తʹ৴པ͢ΔʯʹνΣοΫ

Slide 35

Slide 35 text

͓Ήͭସ͑Λه࿥͢Δ

Slide 36

Slide 36 text

͓Ήͭସ͑Λه࿥͢Δ • ৭ʑࢼͯ͠ڍಈΛ֬ೝ • PC ͔Β JSON ϦΫΤετΛ͍ͬͯ͡ૹ৴ɺਖ਼ৗʹडཧ͞ ΕΔ·Ͱࢼߦࡨޡ • (ར༻ن໿ΛಡΜͰࣗ෼ͷσʔλͳΒ໰୊ͳ͠ͱ֬ೝ) • Node.js ͰεΫϦϓτ࡞੒

Slide 37

Slide 37 text

͓Ήͭସ͑Λه࿥͢Δ • IFTTT ͱ Google Home Λ࿈ܞ • ಛఆͷϑϨʔζΛ࿩ͨ࣌͠ʹΞΫγϣϯ͢Δ • ऴྃ࣌ʹൃ࿩͢ΔϝοηʔδΛొ࿥͢Δ • Google Cloud Functions ͰɺεΫϦϓτ࣮ߦͰ͖ΔΑ͏ʹ͢Δ • Node.js ͷεΫϦϓτΛ࣮ߦͰ͖Δ • IFTTT ͷ Webhook ΞΫγϣϯͰɺCloud Functions ͷΤϯυϙΠϯτΛ ୟ͘Α͏ʹ͢Δ

Slide 38

Slide 38 text

͓Ήͭସ͑Λه࿥͢Δ • ʮΦοέʔάʔάϧɺ͓ͬ͜͠ه࿥ͯ͠ʂʯ
 ˣ
 IFTTT ͕ىಈɺCloud Functions ͷΤϯυϙΠϯτΛୟ͘
 ˣ
 Cloud Functions ͰϐϤΖ͙ API Λୟ͍ͯه࿥
 ˣ
 ʮ͓ͬ͜͠Λه࿥͠·ͨ͠ʯ

Slide 39

Slide 39 text

͓Ήͭସ͑Λه࿥͢Δ • ΊͬͪΌศར • ͓Ήͭସ͑͠ͳ͕Β஻Ε͹͍͍ͷͰϥΫ • ग़ઌͰ΋Φοέʔάʔάϧͬͯݴ͍ͦ͏ʹͳΔ • ׳Ε͖ͯͯɺݴ͍๨Ε͕ൃੜ͍ͯ͠Δ͕…

Slide 40

Slide 40 text

σδΧϝͷࣗಈΞοϓϩʔυΛ
 Ի੠Ͱ௨஌

Slide 41

Slide 41 text

σδΧϝͷࣗಈΞοϓϩʔυ • ࢠͷࣸਅΛΊͬͪΌࡱΔ • δδόό΁ͷใࠂ΋݉ͶͯࡱΔ • εϚϗͷΧϝϥ΋͍͍͚ͲɺσδΧϝ͸΍͸Γ៉ྷ • σδΧϝ͔ΒͷऔΓࠐΈ͕໘౗ • Χϝϥপʹ௜ΜͰ͸ͳ͍ͷͰɺखؒΛ͔͚ͨ͘ͳ͍

Slide 42

Slide 42 text

σδΧϝͷࣗಈΞοϓϩʔυ • औΓࠐΈΛۃྗϥΫʹ͍ͨ͠ • ͦͷੲ Eye-fi ͱ͍͏੡඼͕͕͋ͬͨɺEOL… • FlashAir - ແઢLANػೳ͖ͭSDΧʔυ • ىಈ or ϑΝΠϧॻ͖ࠐΈͨ͠ࡍʹɺઃఆͨ͠ Wi-fi ʹ઀ ଓͯ͠ HTTP ϦΫΤετΛ౤͛Δ͜ͱ͕Ͱ͖Δ • Lua εΫϦϓτΛอଘͯ͠ɺ࣮ߦͰ͖Δ

Slide 43

Slide 43 text

σδΧϝͷࣗಈΞοϓϩʔυ • FlashAir ͷઃఆ֓ཁ • ӈͷΑ͏ͳϑΝΠϧΛ
 /SD_WLAN/CONFIG ʹஔ͘ • ىಈ࣌ʹ /bootstrap.lua ͕
 ࣮ߦ͞ΕΔ [Vendor] CIPATH=/DCIM/100__TSB/FA000001.JPG APPMODE=5 APPNAME=myflashair APPSSID=FOOSSID APPNETWORKKEY=password0123 VERSION=FA9CAW3AW3.00.00 CID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PRODUCT=FlashAir VENDOR=TOSHIBA LUA_RUN_SCRIPT=/bootstrap.lua

Slide 44

Slide 44 text

σδΧϝͷࣗಈΞοϓϩʔυ • FlashAir Λ࢖ͬͯɺσδΧϝ͔Β Google Photos ΁ࣗಈͰΞο ϓϩʔυ͢Δ • Lua εΫϦϓτͰඞཁͳࣸਅϑΝΠϧΛ૸ࠪɺ
 ͦΕͧΕҰ౓αʔόʹΞοϓϩʔυɺ
 αʔό͔Β Google Photos ͷ API ͰࣸਅΛ௥Ճ͢Δ • αʔό͸ Sinatra Ͱॻ͍ͨ

Slide 45

Slide 45 text

σδΧϝͷࣗಈΞοϓϩʔυ • FlashAir ͷ᠘ • Lua εΫϦϓτͰϑΝΠϧΛॻ͖ࠐΈ͢ΔͱɺϗετଆʢσδΧϝʣ͔Β ͷॻ͖ࠐΈͱিಥͯ͠ FAT ෆ੔߹ͰϘϦϡʔϜ͕յΕΔ • Ξοϓϩʔυཤྺ͸αʔόαΠυͰ࣋ͭ • ىಈ͙࣌͢ʹ͸ Wi-fi ઀ଓཱ͕֬͞Ε͍ͯͳ͍ • Lua εΫϦϓτͰɺWi-fi ઀ଓཱ͕֬͢Δ·Ͱ sleep ͢Δ • Google Photos ͷ᠘ • Google Photo API ͸ଘࡏͤͣɺʢջ͔͠ͷʣPicasa API ͕·ͩಈ͍͍ͯΔ

Slide 46

Slide 46 text

σδΧϝͷࣗಈΞοϓϩʔυ • ىಈ࣌ʹɺະΞοϓϩʔυͷࣸਅΛΞοϓϩʔυ͢Δ͜ͱ ͕Ͱ͖ΔΑ͏ʹͳͬͨ • ศར • Ξοϓϩʔυͷਐḿ͕Θ͔Βͳ͍… • ͍ͭిݯΛམͱ͍͍ͯ͠ͷ͔Θ͔Βͳ͍ • Τϥʔ͕ൃੜ͍ͯ͠Δͷ͔΋Θ͔Βͳ͍

Slide 47

Slide 47 text

Ի੠Ͱ௨஌ • Google Home ʹ஻ΒͤΔ • https://github.com/noelportugal/google-home-notifier • Node.js ͷϓϩάϥϜ • LAN ಺ͷ Google Home Λࢦఆͯ͠ɺ೚ҙͷจࣈྻΛ஻ΒͤΔ • Google Text-to-speech API Λ࢖ͬͯԻ੠ͷ URL ΛऔಘɺChrome Cast ϓϩτίϧͰσόΠεʹ URL Λ࠶ੜ͍ͤͯ͞Δ

Slide 48

Slide 48 text

Ի੠Ͱ௨஌ • google-home-notifier Λ࢖ͬͨ௨஌αʔόΛ४උ • FlashAir ͷ Lua εΫϦϓτͰɺΞοϓϩʔυ։࢝࣌ɺऴྃ ࣌ʹ௨஌αʔόʹϦΫΤετΛ౤͛Δ • ։࢝࣌ʹʮΧϝϥ͔ΒͷΞοϓϩʔυΛ։࢝͠·͢ʯ • ऴྃ࣌ʹʮΧϝϥ͔ΒͷΞοϓϩʔυ͕ऴྃ͠·͠ ͨʯ

Slide 49

Slide 49 text

Ի੠Ͱ௨஌ • ΊͬͪΌศར • σδΧϝͰࣸਅΛࡱΔͷ͕ۤ͡Όͳ͘ͳͬͨ • Google Photo ͱΧϝϥΛݟൺ΂ͯɺશ্͕͔ͯͬͨ֬ೝ͠ͳ͘ ͍͍ͯ • FlashAir ͱࣗ୐ϧʔλͷ૬ੑ͕ѱ͍ͬΆͯ࣌͘ʑಈ࡞͠ͳ͍… • σόοά࣌ؒऔΕͯͳ͍…

Slide 50

Slide 50 text

·ͱΊ

Slide 51

Slide 51 text

·ͱΊ • ҭࣇٳۀ͕औΕͯɺͱͯ΋ॿ͔Γ·ͨ͠ʂ • ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ • εϚʔτεϐʔΧʔ͸ɺҭࣇάοζͰ͢ʂ • ΍ͬͯΈ͍ͨํ͸͓੠͕͚͍ͩ͘͞