๋ฐ์คํ | ๋์์ค | ์์ง์ |
---|---|---|
@jjunhaa0211 | @one3147 | @wldms615 |
PM, iOS, Web | Web Sec, Dev | iOS Sec |
- ์ผ์ ์์ ๊ผญ ๊ธฐ์ตํด์ผ ํ๋ ์ผ๋ค, ๋๋ ์ผ์ ๋ค์ ๋ฉ๋ชจ๋ก ๊ธฐ๋กํด ๊ด๋ฆฌํ์ธ์. ๐๏ธ
- ์ผ๋ฐ์ ์ธ ๋ฉ๋ชจ์ ๋ค๋ฅด๊ฒ ์ํธํ๋๋ ํจ์ค์๋๋ฅผ ํตํด ๊ด๋ฆฌ๋ฉ๋๋ค. ๐
- ๋ณด๊ดํด์ผํ๋ ์ฌ์ง๋ค๋ SecureMarshmallow๋ฅผ ํตํด ์์ ํ๊ฒ ๊ด๋ฆฌํ์ธ์. ๐
- ํจ์ค์๋์ ๊ฐ์ ์ธ์ฆ ์ ์ฐจ๋ฅผ ํตํด ์ฌ์ํ์ ๋ณดํธํ ์ ์์ต๋๋ค. ๐
- ๋๋ฐ์ด์ค์ ์ํ๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ์ธ์. ๐ฑ
- URL์ ์์ ์ฑ์ ๊ฒ์ฆํ์ธ์.
โ ๏ธ - ๋คํธ์ํฌ, ๋๋ฐ์ด์ค ๋ฐฐํฐ๋ฆฌ, ์ ์ฅ ๊ณต๊ฐ ๋ฑ์ ๋ํ ์ ๋ณด๋ฅผ ํธํ๊ฒ ํ์ธํ์ธ์. โ
- ๋ด ๊ธฐ๊ธฐ์ ์นจ์ ํ ๊ธฐ๋ก์ ํ์ธํ์ธ์. ๐ก
- ๋ด ๊ธฐ๊ธฐ๋ฅผ ๋์์ผ๋ก ์คํฌ๋ฆฐ์ท์ ์๋๋์๋ ์ง ํ์ธํ์ธ์! ๐ฅ
๋ฉ์ธ ํ๋ฉด | ๋ฉ๋ชจ ํ๋ฉด | ์ฌ์ง ํ๋ฉด |
์ค์ ํ๋ฉด | ์ด๋ฆผ ์ถ์ | ์ ์ฉ ๊ธฐ์ |
๋ฐฐํฐ๋ฆฌ ํ์ธ | ์ ์ฅ๊ณต๊ฐ ํ์ธ | ๋ฉ๋ชจ ๋ด์ฉ |
- ๊ฐ๊ฒฐํ layout์ ํ๊ธฐ ์ํด์ ์ฌ์ฉ
- ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ๋ณด๊ธฐ ์ํด์ ์ฌ์ฉ
-
ํ์ฅ ํ์ง ๋ชจ๋
- ๊ธฐ๊ธฐ๊ฐ ํ์ฅ์ด ๋์ด์๋์ง ์๋์ง ํ์ธ
-
์ฐ๊ฒฐ๋ ๋๋ฒ๊ฑฐ ๊ฐ์ง๊ธฐ ๋ชจ๋
-
์ฑ์ด ์๋ฎฌ๋ ์ดํฐ์์ ์คํ๋๋์ง ์๋์ง ํ์ธ
-
๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง ๋๊ตฌ ๊ฐ์ง
- True/False ๋ฐํ
if IOSSecuritySuite.amIJailbroken() {
print(โThis device is jailbrokenโ)
} else {
print(โThis device is not jailbrokenโ)
}
- ์ด๋ค ๊ฒฝ๋ก๋ก ํ์ฅ ๋์๋์ง ์๊ณ ์ถ์ ๋ ์ฌ์ฉ
- ํ์ผ ๊ฒฝ๋ก ํ์ธ ๊ฐ๋ฅ
let jailbreakStatus = IOSSecuritySuite.amIJailbrokenWithFailMessage()
if jailbreakStatus.jailbroken {
print(โThis device is jailbrokenโ)
print(โBecause: (jailbreakStatus.failMessage)โ)
} else {
print(โThis device is not jailbrokenโ)
}
- ๊ณผ๊ฑฐ์ ํ์ฅ ํ์๊ณ , ์ง๊ธ๋ ํ์ฅ์ด ๋์ด์๋ ๊ฒฝ์ฐ
let jailbreakStatus = IOSSecuritySuite.amIJailbrokenWithFailedChecks()
if jailbreakStatus.jailbroken {
if (jailbreakStatus.failedChecks.contains { $0.check ==
.existenceOfSuspiciousFiles }) && (jailbreakStatus.failedChecks.contains
{ $0.check == .suspiciousFilesCanBeOpened }) {
print(โThis is real jailbroken deviceโ)
}
}
- ๋๋ฒ๊ฑฐ ํ์ง๊ธฐ ๋ชจ๋
let amIDebugged: Bool = IOSSecuritySuite.amIDebugged()
- ๋ชจ๋ ๋๋ฒ๊ฑฐ๋ฅผ ๊ฑฐ๋ถ
IOSSecuritySuite.denyDebugger()
- ์๋ฎฌ๋ ์ดํฐ(๊ฐ์๋จธ์ ) ํ์ง ๋ชจ๋
let runInEmulator: Bool = IOSSecuritySuite.amIRunInEmulator()
- ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง ๋๊ตฌ ๊ฒ์ถ๊ธฐ ๋ชจ๋
var amIReverseEngineered = Securing.IOSSecuritySuite.AmIReverseEngineered() ? true : false;
- SQLite์ CoreData๋ณด๋ค ์์ ์๋๊ฐ ๋น ๋ฅด๊ณ
- Cross Platform์ ์ง์ํด์ ์๋๋ก์ด๋ OS์ DB ํ์ผ์ ๊ณต์ ํ ์ ์๊ณ
- Realm Studio๋ฅผ ํตํด์ DB ์ํ๋ฅผ ํธํ๊ฒ ํ์ธํ ์ ์๊ณ
- ์ง๊ด์ ์ธ ์ฝ๋๋ก ์์ ํ ์ ์๊ณ
- Rx๋ฅผ ์ง์ํ๋ RxRealm์ด ์กด์ฌ
- LLVM์ด ์ปดํ์ผํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ฒ๊น ํ ๋ ์ฐ๋ ํด
- ํ๋ก์ ํธ์ ์ปดํฌ๋ํธ ์ค ๋๋ฒ๊น ๊ณผ ๊ด๋ จ๋ LLVM์ ์๋ธ ํ๋ก์ ํธ
- LLDB ๋ณด๊ณ ์
Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2023-10-04.at.23.48.14.mp4