Swiftyinsta: μΈμŠ€νƒ€κ·Έλž¨ Ajax 둜그인

에 λ§Œλ“  2020λ…„ 05μ›” 14일  Β·  27μ½”λ©˜νŠΈ  Β·  좜처: TheM4hd1/SwiftyInsta

Instagram이 방금 instagram.com/accounts/login/ajax 을 ν•΅μœΌλ‘œ λ§Œλ“€μ—ˆλ‚˜μš”, μ•„λ‹ˆλ©΄ μ €λ§Œ 그런 κ±΄κ°€μš”?
λ‚˜λŠ” 그것을 μž‘λ™μ‹œν‚¬ 수 μ—†μŠ΅λ‹ˆλ‹€.
😱

κΈ°λ³Έ 인증 ν”„λ‘œμ„ΈμŠ€λ₯Ό ν…ŒμŠ€νŠΈν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?
λΆˆν–‰νžˆλ„ λŒ€μ•ˆμ€ Swiftμ—μ„œ λ„ˆλ¬΄ λ§Žμ€ 쒅속성을 ν•„μš”λ‘œ ν•©λ‹ˆλ‹€(ν•΄μ‹œμ™€ RSAλ₯Ό λͺ¨λ‘ μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ—).

@sssssssssss γ… γ…œ


νŽΈμ§‘: Swiftagramμ—μ„œλ„ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€... 😱 정말 방금 μ œκ±°ν•œ κ±΄κ°€μš”?

critical

λͺ¨λ“  27 λŒ“κΈ€

그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμ§€λ§Œ SMSμ—μ„œ μ±Œλ¦°μ§€ μ½”λ“œλ₯Ό 얻을 수 μ—†μ—ˆμ§€λ§Œ μ΄λ©”μΌμ—μ„œλŠ” μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

Swiftagram 의 BasicAuthenticator.handleSecond λ°˜ν™˜ invalid response , λ‚˜λŠ” SwiftyInsta ν…ŒμŠ€νŠΈν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

SwiftyInsta μ—μ„œλ„ μž‘λ™ν•˜κ²Œ ν•  수 μ—†μŠ΅λ‹ˆλ‹€ 😒 @bariscck
μΈμΈλ‹ˆμ•„μ™€ μš°μ²΄λΆ€μ—μ„œλ„ μž‘λ™μ΄ μ•ˆλ˜λŠ”λ°... 😱
Instagram의 μΌμ‹œμ μΈ λ¬Έμ œμ˜€κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. @TheM4hd1 이 λ‹€λ₯Έ μ§€μ—­μ—μ„œ μž‘λ™ν•˜λŠ” 이유λ₯Ό μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Instagram의 μ›Ή 앱이 ν˜„μž¬ 이 끝점을 μ‚¬μš©ν•˜κ³  있기 λ•Œλ¬Έμ— μΌμ‹œμ μΈ 것 κ°™μŠ΅λ‹ˆλ‹€. κ·Έλ“€μ—κ²Œλ„ νš¨κ³Όκ°€ μ—†μŠ΅λ‹ˆλ‹€. 400 Bad Request λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

μ›Ή 앱도 μž‘λ™ν•˜μ§€λ§Œ μ•½ 4κ°œμ›” 전에 같은 일이 λ°œμƒν•˜μ—¬ λͺ‡ μ‹œκ°„ 후에 μˆ˜μ •λœ κ²ƒμœΌλ‘œ κΈ°μ–΅ν•©λ‹ˆλ‹€.

예, 이전에 λ°œμƒν–ˆμ§€λ§Œ μš°λ¦¬λŠ” 400 λ₯Ό λŒλ €λ°›μ•˜μŠ΅λ‹ˆλ‹€. μ΄λŠ” ν•©λ¦¬μ μž…λ‹ˆλ‹€.
μ΄λ²ˆμ—λŠ” 직접 μ•‘μ„ΈμŠ€κ°€ 405 μž…λ‹ˆλ‹€. HEAD κ°€ μžˆμ–΄λ„.
λ‚˜λŠ” 그듀이 단지 κ·Έκ³³μ—μ„œ μ΄μ£Όν•˜λŠ” 것이 λ‘λ ΅μŠ΅λ‹ˆλ‹€.
🀞 μ†κ°€λ½λ§Œ 꼬집어 λ΄…μ‹œλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” 저도 같은 λ¬Έμ œκ°€ λ°œμƒν•˜λŠ”λ° ν•΄κ²°λ˜μ…¨λ‚˜μš”?

λΆˆν–‰νžˆλ„ @Emretelli7은 아직 ν•΄κ²°λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
끝점을 λ°›μ•„λ“€μ—¬μ•Ό ν•  것 같은 λŠλ‚Œμ΄ λ“€μ–΄μš” 😒

μ•ˆλ…•ν•˜μ„Έμš”, 이제 μΈμŠ€νƒ€κ·Έλž¨μ€ "enc_password" λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€ . "password" λŠ” μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
image
enc_passwordλŠ” AES 256 GCM μ•”ν˜Έν™”λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

https://pastebin.com/raw/nYL2W2bG

@xmmti
burp μ œν’ˆκ΅°μ—μ„œ λ‚΄ enc_passwordλ₯Ό λ³΅μ‚¬ν•˜κ³  λ‚΄ μ‚¬μš©μž μ΄λ¦„μœΌλ‘œ κ²Œμ‹œν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ 인증됨: false

λ”°λΌμ„œ 이 enc_password보닀 더 λ§Žμ€ 것이 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@xmmti
burp μ œν’ˆκ΅°μ—μ„œ λ‚΄ enc_passwordλ₯Ό λ³΅μ‚¬ν•˜κ³  λ‚΄ μ‚¬μš©μž μ΄λ¦„μœΌλ‘œ κ²Œμ‹œν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ 인증됨: false

λ”°λΌμ„œ 이 enc_password보닀 더 λ§Žμ€ 것이 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

λ³Έλ¬Έ μš”μ²­
μ‚¬μš©μž 이름= μ‚¬μš©μž 이름 &enc_password= enc_password
image
λ‚˜λž‘ 일이야...

λ„€. κ·Έ μ΄μƒμž…λ‹ˆλ‹€. λ‚˜λŠ” 첫 번째 λ©”λͺ¨μ—μ„œ 그것을 μ•”μ‹œν•©λ‹ˆλ‹€.
μƒˆλ‘œμš΄ ν—€λ“œλ¦¬μŠ€ 인증 λ°©λ²•μ—λŠ” Swiftμ—μ„œ ν™•μ‹€νžˆ ν‘œμ€€μ΄ μ•„λ‹Œ μ•”ν˜Έν™” 도ꡬ가 ν•„μš”ν•©λ‹ˆλ‹€. ν•΄μ‹œλŠ” 맀우 μ‰½κ²Œ 얻을 수 μžˆμ§€λ§Œ(그리고 이미 CryptoSwiftλ₯Ό 톡해 SwiftyInsta 에 있음) κ³Όκ±°μ—λŠ” μ‹ λ’°ν•  수 μžˆλŠ” RSA 라이브러리λ₯Ό 찾을 수 μ—†μ—ˆμœΌλ©°(ν˜„μž¬ λ¦΄λ¦¬μŠ€κ°€ μ•„λ‹Œ 경우), (적어도) ν•˜λ‚˜ 더 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€. 의쑴.

API λ‘œκ·ΈμΈμ€ 잘 μž‘λ™ν•©λ‹ˆλ‹€ ... 그의 enc_passwordλ₯Ό ajaxν•˜λ©΄ λ©λ‹ˆλ‹€.

제 λŒ“κΈ€ @xmmtiλ₯Ό μ½μ–΄μ£Όμ„Έμš”.

μš°λ¦¬λŠ” λͺ¨λ‘ μˆ˜μ • 사항을 μ™„μ „νžˆ μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” 문제λ₯Ό 쓰기도 전에 μžˆμ—ˆκ³  이것이 μ‘°λ§Œκ°„ 일어날 κ²ƒμ΄λΌλŠ” 것을 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€.
λ¬Έμ œλŠ” μˆ˜μ • 사항이 Node JS λ˜λŠ” Pythonμ—μ„œλŠ” 맀우 μ‰½μ§€λ§Œ Swiftμ—μ„œλŠ” ν™•μ‹€νžˆ 그렇지 μ•Šλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. ν˜„μž¬ SwiftyInsta μ—μ„œ μš”κ΅¬ν•˜λŠ” μ•”ν˜Έν™” 및 CryptoSwift 에 λŒ€ν•œ 쒋은 λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μ—†κ±°λ‚˜ ν•΄λ‹Ή λ¬Έμ œμ— λŒ€ν•΄ CommonCrypto λ₯Ό 기반으둜 ν•˜λŠ” λͺ¨λ“  것이 κ΄‘λ²”μœ„ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. μΆ©λΆ„ν•œ.


μΆ”κ°€ν•  λ‚΄μš©μ΄ μ—†κΈ° λ•Œλ¬Έμ— 이 μŠ€λ ˆλ“œμ— λŒ€ν•œ λŒ“κΈ€μ„ 차단해야 ν•©λ‹ˆλ‹€.λŒ€μ•ˆμ„ κ΅¬ν˜„ν•˜κΈ°λ‘œ κ²°μ •ν•œ 경우(μœ νš¨ν•œ μ•”ν˜Έν™” 라이브러리λ₯Ό 찾을 수 μžˆλŠ” 경우) κ²Œμ‹œλ¬Όμ„ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€.κΈ°μ—¬ν•˜κ³  μ‹Άλ‹€λ©΄ PR을 λ³΄λ‚΄μ£Όμ‹­μ‹œμ˜€.

@sbertix
μ•ˆλ…•ν•˜μ„Έμš” μ €λŠ” 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆκΈ° λ•Œλ¬Έμ— 파이썬 ν”„λ‘œμ νŠΈλ₯Ό μœ„ν•΄ 여기에 μžˆμŠ΅λ‹ˆλ‹€.
λͺ¨λ°”일 μ•±μ—μ„œ μ‚¬μš©ν•˜λ €λ©΄ python 슀크립트λ₯Ό μ‹€ν–‰ν•˜λŠ” μ„œλ²„λ₯Ό μ‹€ν–‰ν•˜μ—¬ λͺ¨λ°”일 μ•±κ³Ό μ—°κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이것은 @Emretelli7 μ—κ²ŒλŠ” λ¬Έμ œκ°€ λ˜μ§€ μ•Šμ§€λ§Œ κ°μ‚¬ν•©λ‹ˆλ‹€. 😊
이미 λ…Έλ“œ 앱을 톡해 인증을 λΌμš°νŒ…ν–ˆμŠ΅λ‹ˆλ‹€.
이것은 SwiftyInsta μ—μ„œ 직접 κΈ°λ³Έ 인증을 μ œκ³΅ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

이제 κΈ°λ³Έ 둜그인이 μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 2FA κ°€ μžˆκ±°λ‚˜ μ—†λŠ” 두 개의 λ‹€λ₯Έ 계정을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

AES-GCM-256에 swift-sodium을 μ‚¬μš©ν•˜λ €κ³  ν•©λ‹ˆλ‹€.
그리고 RSA 뢀뢄에 λŒ€ν•œ SwiftyRSA.

@MatoMA 에 λ„ˆλ¬΄ λ§Žμ€ 쒅속성을 μΆ”κ°€ν•  λ•Œ μ£Όμ˜ν•˜κ³  SwiftyRSAλŠ” macOSμ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 반면 swift-sodium은 iOS 및 macOS(Catalyst μ—†μŒ, watchOS μ—†μŒ, tvOS μ—†μŒ, Linux μ—†μŒ)μ—μ„œλ§Œ μž‘λ™ν•˜λ―€λ‘œ κΈ°λŠ₯ 및 ꡬ멍을 μ˜λ―Έν•©λ‹ˆλ‹€. λΌμ΄λΈŒλŸ¬λ¦¬κ°€ λ‹€λ₯Έ λŒ€μƒμ— νŒ¨ν‚€μ§€λ˜μ–΄ μžˆμ§€ μ•Šμ€ 경우 iOSμ—μ„œλ§Œ μž‘λ™ν•˜λ©°, 이미 μ†Œλž€ 없이 μ›Ή 보기 기반 인증을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€...\
SwCryptμ—μ„œ κ΅¬ν˜„μ„ μ‹œλ„ν–ˆκ³ (μ‹œκ°„ λΆ€μ‘±μœΌλ‘œ 인해 μ™„λ£Œν•˜μ§€ μ•Šκ³ ) μ•½κ°„μ˜ 잠재λ ₯을 λ³΄μ—¬μ£Όμ—ˆμŠ΅λ‹ˆλ‹€(μ—¬μ „νžˆ OpenCrypto 지원 μ‹œμŠ€ν…œμœΌλ‘œ μ œν•œλ˜μ–΄ 있음).\
ν•˜μ§€λ§Œ μ™„λ£Œλ˜λ©΄ κ΅¬ν˜„μ„ μ™„μ „νžˆ 비ꡐ할 수 μžˆμŠ΅λ‹ˆλ‹€.

@MatoMA 에 λ„ˆλ¬΄ λ§Žμ€ 쒅속성을 μΆ”κ°€ν•  λ•Œ μ£Όμ˜ν•˜κ³  SwiftyRSAλŠ” macOSμ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠλŠ” 반면 swift-sodium은 iOS 및 macOS(Catalyst μ—†μŒ, watchOS μ—†μŒ, tvOS μ—†μŒ, Linux μ—†μŒ)μ—μ„œλ§Œ μž‘λ™ν•˜λ―€λ‘œ κΈ°λŠ₯ 및 ꡬ멍을 μ˜λ―Έν•©λ‹ˆλ‹€. λΌμ΄λΈŒλŸ¬λ¦¬κ°€ λ‹€λ₯Έ λŒ€μƒμ— νŒ¨ν‚€μ§•λ˜μ§€ μ•Šμ€ 경우 iOSμ—μ„œλ§Œ μž‘λ™ν•˜λ©°, μ†Œλž€ 없이 이미 μ›Ή 보기 기반 인증을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€...
SwCryptμ—μ„œ κ΅¬ν˜„μ„ μ‹œλ„ν–ˆλŠ”λ°(μ‹œκ°„ λΆ€μ‘±μœΌλ‘œ μ™„λ£Œν•˜μ§€ μ•Šκ³ ) μ•½κ°„μ˜ κ°€λŠ₯성을 λ³΄μ—¬μ£Όμ—ˆμŠ΅λ‹ˆλ‹€(μ—¬μ „νžˆ OpenCrypto 지원 μ‹œμŠ€ν…œμœΌλ‘œ μ œν•œλ˜μ–΄ 있음).
ν•˜μ§€λ§Œ μ™„λ£Œλ˜λ©΄ κ΅¬ν˜„μ„ μ™„μ „νžˆ 비ꡐ할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹΅μž₯ ν•΄μ£Όμ…”μ„œ 맀우 κ°μ‚¬ν•©λ‹ˆλ‹€.
μ•½ 1/4의 μ‚¬μš©μžκ°€ webview 인증으둜 λ‘œκ·ΈμΈν•˜μ§€ λͺ»ν•˜λŠ” 것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€. 그리고 μš°λ¦¬κ°€ 문제λ₯Ό νŒŒμ•…ν•˜λŠ” 것은 μ–΄λ ΅μŠ΅λ‹ˆλ‹€. 이것이 Android(Device) APIμ—μ„œ μž‘λ™ν•˜λ„λ‘ ν•˜λ €λŠ” μ΄μœ μž…λ‹ˆλ‹€.
그리고 μ‚¬μš©μžκ°€ Auth App(문자 λ©”μ‹œμ§€ μ•„λ‹˜)으둜 2FAλ₯Ό ν™œμ„±ν™”ν•˜λ©΄ webview 인증이 μž‘λ™ν•˜μ§€ μ•ŠλŠ” κ²ƒμœΌλ‘œ μ•Œλ €μ Έ μžˆμŠ΅λ‹ˆλ‹€.
μœ„μ˜ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μž‘λ™ν•˜μ§€ μ•ŠμœΌλ©΄ μ—¬μ „νžˆ openssl이 μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬κ°€ μ‹œλ„ν•  λ§ˆμ§€λ§‰ κ²½λ‘œλŠ”...

μ›Ή 기반 둜그인이 μž‘λ™ν•˜μ§€ μ•ŠλŠ” 것은 ν˜„μž¬ κ΅¬ν˜„μ˜ 문제일 뿐이며 μˆ˜μ •ν•˜κΈ°κ°€ 훨씬 μ‰½μŠ΅λ‹ˆλ‹€.\
λ‚˜λŠ” 그것을 Swiftagram μ—μ„œ μž‘λ™ν•˜κ²Œ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. 성곡λ₯ μ΄ κ·Έλ ‡κ²Œ λ‚˜μœ 경우 SwiftyInsta μ—μ„œ λ™μΌν•œ 클래슀λ₯Ό κ°€μ Έμ˜¬ κ²ƒμž…λ‹ˆλ‹€.\
μ–΄λŠ μͺ½μ΄λ“  κΈ°λ³Έ 인증을 λ°±μ—…ν•˜κ³  μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ” 것이 μ—¬μ „νžˆ μš°μ„  μˆœμœ„μ΄λ―€λ‘œ κ±±μ •ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€ 😊

κ·Έλ ‡λ‹€λ©΄ @TheM4hd1λ‹˜, ν˜Έν™˜μ„±κ³Ό κ΄€λ ¨ν•˜μ—¬ μ•žμœΌλ‘œ λ‚˜μ•„κ°€λŠ” 것이 κ°€μž₯ 쒋은 방법이라고 μƒκ°ν•˜μ‹­λ‹ˆκΉŒ?\
λ‚˜λŠ” Swiftagramμ—μ„œ BasicAuthenticator λ₯Ό μž¬κ΅¬ν˜„ν•˜μ—¬ SwiftyInsta 용 으둜 μ™„μ „νžˆ λ²ˆμ—­ν•  수 μžˆμ§€λ§Œ λ¨Όμ € ν•΄κ²°ν•΄μ•Ό ν•©λ‹ˆλ‹€(예: μž‘λ™ν•˜λ €λ©΄ Linux 지원 쀑단, μ΅œμ†Œ OS 버전, 쒅속성 κ΄€λ¦¬μž, λ“±).

@sbertix λŠ” μ—¬μ „νžˆ λΉ„ν™œμ„±ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆκΉŒ? 그것은 μ§€κΈˆ λ‚˜λ₯Ό μœ„ν•΄ λ‹€μ‹œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

μ§€λ‚œ 주에 μ‹œλ„ν–ˆμ§€λ§Œ μ—¬μ „νžˆ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.\
λΆ„λͺ…νžˆ λͺ¨λ“  계정에 영ν–₯을 λ―ΈμΉ˜μ§€λŠ” μ•Šμ§€λ§Œ 많이 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€( instagram-private-api μ—μ„œ enc_password 에 λŒ€ν•œ κ°±μ‹ λœ 관심을 기반으둜 함).\
SwiftyInsta μ—μ„œλ„ ν•΄κ²°ν•΄μ•Ό ν•©λ‹ˆλ‹€.

κ΅¬ν˜„μ€ κ·Έ 자체둜 λ¬Έμ œκ°€ μ•„λ‹ˆλ©° Swiftagram 을 μ™„μ „νžˆ 이식할 수 μžˆμœΌλ―€λ‘œ 쒅속성 등에 λŒ€ν•œ 섀정일 λΏμž…λ‹ˆλ‹€.

openssl λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 μ–΄λ–»μŠ΅λ‹ˆκΉŒ? Instagram μžμ²΄λŠ” openssl λ₯Ό μ‚¬μš©ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ μ΅œμ†Œ ν˜Έν™˜μ„± 버전과 Linux ν˜Έν™˜μ„±λ„ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” Swiftμ—μ„œ OpenSSL (적어도 μ§μ ‘μ μœΌλ‘œ)에 μ˜μ‘΄ν•˜λŠ” 것을 μ •λ§λ‘œ μ‹«μ–΄ν•©λ‹ˆλ‹€(λŒ€λΆ€λΆ„μ˜ μ‚¬λžŒλ“€μ²˜λŸΌ hahaha).\
이것은 ν™•μ‹€νžˆ "ν•΄κ²°μ±…"μ΄μ§€λ§Œ 번거둭게 κ΅¬ν˜„ν•  κ°€μΉ˜κ°€ μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€... @TheM4hd1\
κΌ­, 당신이 그것을 ν•˜κ³  μ‹Άλ‹€λ©΄, μ’‹μŠ΅λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ μ—¬μ „νžˆ "더 높은 μˆ˜μ€€"으둜 κ°€λŠ” 것이 μΆ©λΆ„ν•΄μ•Ό ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

OpenSSL κ΅¬ν˜„μ„ μ‹œλ„ν–ˆμ§€λ§Œ κ°œλ³„ ν”„λ‘œμ νŠΈμ—μ„œ 잘 μž‘λ™ν•˜μ§€λ§Œ μ’…μ†μ„±μœΌλ‘œ μΆ”κ°€ν•˜λ©΄ κ·Έλ ‡κ²Œ ν•  수 μ—†μ—ˆκ³  λ§Žμ€ μž‘μ—…μ΄ ν•„μš”ν•˜κ³  라이브러리 크기가 μ¦κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
제 개인 ν”„λ‘œμ νŠΈλΌλ©΄ μ΅œμ†Œ iOS 버전을 μ§€μ›ν•˜λŠ” μš©λ„λ‘œ μ‚¬μš©ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ„μ„œκ΄€μ„ μœ„ν•΄ 그것을 ν•  κ°€μΉ˜κ°€μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.
λ”°λΌμ„œ SwiftaGram 이식에 λ™μ˜ν•©λ‹ˆλ‹€. 이것이 ν˜„μž¬λ‘œμ„œλŠ” 졜고의 μ†”λ£¨μ…˜μž…λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰

κ΄€λ ¨ 문제

biox86 picture biox86  Β·  12μ½”λ©˜νŠΈ

reefer picture reefer  Β·  18μ½”λ©˜νŠΈ

effecttwins picture effecttwins  Β·  16μ½”λ©˜νŠΈ

trentona picture trentona  Β·  3μ½”λ©˜νŠΈ

rmelnik7777 picture rmelnik7777  Β·  19μ½”λ©˜νŠΈ