差異處
這裏顯示兩個版本的差異處。
| Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
|
公開:20180811_tibame_ios_app資訊安全 [2018/08/12 10:09] kent |
公開:20180811_tibame_ios_app資訊安全 [2018/12/15 10:46] (目前版本) kent |
||
|---|---|---|---|
| 行 14: | 行 14: | ||
| ==== UDID登記表 ==== | ==== UDID登記表 ==== | ||
| [[https://docs.google.com/spreadsheets/d/1lWJeJszvQkPqZ3tLY9-ZEjtqrANw1lCOOZnjU5mfhlc/edit?usp=sharing|UDID登記表]] | [[https://docs.google.com/spreadsheets/d/1lWJeJszvQkPqZ3tLY9-ZEjtqrANw1lCOOZnjU5mfhlc/edit?usp=sharing|UDID登記表]] | ||
| - | |||
| - | ==== Data+RNCrypt.swift (0811 1450) ==== | ||
| - | <file> | ||
| - | // | ||
| - | // Data+RNCryptor.swift | ||
| - | // HelloMySecureApp | ||
| - | // | ||
| - | // Created by Kent Liu on 2018/8/11. | ||
| - | // Copyright © 2018年 SoftArts Inc. All rights reserved. | ||
| - | // | ||
| - | |||
| - | import Foundation | ||
| - | import RNCryptor | ||
| - | |||
| - | extension Data { | ||
| - | | ||
| - | | ||
| - | | ||
| - | func decrypt(key: String) -> Data? { | ||
| - | | ||
| - | // Convert base64 encoded data to original data | ||
| - | guard let encryptedData = Data(base64Encoded: self) else { | ||
| - | print("Fail to convert base64 to data.") | ||
| - | return nil | ||
| - | } | ||
| - | | ||
| - | guard let decryptedData = try? RNCryptor.decrypt(data: encryptedData, withPassword: key) else { | ||
| - | assertionFailure("Fail to decrypt.") | ||
| - | return nil | ||
| - | } | ||
| - | return decryptedData | ||
| - | } | ||
| - | | ||
| - | func decryptToString(key: String) -> String? { | ||
| - | guard let data = decrypt(key: key) else { | ||
| - | return nil | ||
| - | } | ||
| - | guard let string = String(data: data, encoding: .utf8) else { | ||
| - | print("Fail to convert data to string.") | ||
| - | return nil | ||
| - | } | ||
| - | return string | ||
| - | } | ||
| - | } | ||
| - | </file> | ||
| ==== DataProtection練習憑證 ==== | ==== DataProtection練習憑證 ==== | ||
| 行 74: | 行 29: | ||
| </file> | </file> | ||
| + | ==== main.swift 預設內容 ==== | ||
| + | <file> | ||
| + | import Foundation | ||
| + | import UIKit | ||
| + | |||
| + | autoreleasepool { | ||
| + | UIApplicationMain( | ||
| + | CommandLine.argc, | ||
| + | UnsafeMutableRawPointer(CommandLine.unsafeArgv) | ||
| + | .bindMemory( | ||
| + | to: UnsafeMutablePointer<Int8>.self, | ||
| + | capacity: Int(CommandLine.argc)), | ||
| + | nil, | ||
| + | NSStringFromClass(AppDelegate.self) //Or your class name | ||
| + | ) | ||
| + | |||
| + | } | ||
| + | </file> | ||
| + | |||
| + | ==== Objective-C 混淆方式參考 ==== | ||
| + | [[https://github.com/kaich/codeobscure|codeobscure]] | ||
| + | [[https://github.com/kongcup/ZMConfuse|ZMConfuse]] | ||