====== 課程講義 ======
[[https://www.dropbox.com/s/7ztmvjjipp1u0ww/Swift_Lesson9_Security_20210418-1_AI_Network.pdf?dl=0|下載連結]]
====== 網路安全練習主機與電文資訊 ======
主機URL: "http://class.softarts.cc/AppSecurity/encryptData.json"
Payload 加密 Key: "zaq1xsw2cde3vfr4"
Password 加密 Key Prefix: "1qaz2wsx"
===== Exception Domains 設定 Key 值 =====
NSExceptionAllowsInsecureHTTPLoads
NSIncludesSubdomains
==== SSL Pinning ====
[[https://www.ssllabs.com/ssltest/index.html |SSLLabs]]
==== 假 Pinning Hash ====
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="
==== UIWindow+Extension.swift 預設內容 ====
[[https://www.dropbox.com/s/qw438cha0wnuwf5/UIWindow%2BExtension.swift?dl=0|UIWindow+Extension.swift]]
==== main.swift 預設內容 ====
import Foundation
import UIKit
autoreleasepool {
UIApplicationMain(
CommandLine.argc,
UnsafeMutableRawPointer(CommandLine.unsafeArgv)
.bindMemory(
to: UnsafeMutablePointer.self,
capacity: Int(CommandLine.argc)),
nil,
NSStringFromClass(AppDelegate.self) //Or your class name
)
}
==== Objective-C 混淆方式參考 ====
[[https://github.com/kaich/codeobscure|codeobscure]]
[[https://github.com/kongcup/ZMConfuse|ZMConfuse]]
==== Swift Jailbreak 偵測 ====
[[https://github.com/TheSwiftyCoder/JailBreak-Detection|JailBreak-Detection]]
==== TouchID/FaceID 範例程式 ====
[[https://www.dropbox.com/s/k1bc1lcmxo522zc/SwiftHelloLocalAuthentication.zip?dl=0|SwiftHelloLocalAuthentication.zip]]