我正在為 Windows/Linux 開發一個使用 C 的軟體。
我想在運行時創建一個檔案(txt、json、許可證,你可以命名它),并將其保存在某處。是否可以在 C 中獲取該檔案在磁盤上的確切位置,以便如果我重新啟動應用程式并讀取該地址(或其他地址),我將能夠訪問其資料?
這樣做的目的是,如果有人將軟體復制到另一個作業系統,或創建作業系統的映像并嘗試運行它,則該地址將不再有效并且它會失敗。這是嘗試添加另一層(在許可證管理之上)以防止軟體復制。
uj5u.com熱心網友回復:
磁盤映像逐位元組復制,這意味著磁盤上的所有地址(位置)保持完全相同。因此,您的復制保護實際上不會起作用 - 您仍然可以輕松地克隆磁盤,同時保留您的特殊復制保護檔案。此外,一個檔案甚至可能在磁盤上沒有定義的位置:它可能被分成許多碎片并分散在整個磁盤上。您找不到不存在的地址。檔案系統也可以隨時移動檔案,因此即使在同一系統上地址也不會保持不變。(這就是碎片整理的作用。例如,Windows 會按照固定的時間表移動檔案以使檔案系統更快。)
TL; DR 這行不通。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/473741.html
