Last active
November 21, 2024 14:43
-
-
Save dannote/17e0396fe2e19c6e60c915838376d267 to your computer and use it in GitHub Desktop.
Final Cut Pro X trial reset
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/swift | |
// DISCLAIMER | |
// This script modifies an unencrypted file associated with the trial version of Final Cut Pro. | |
// Under the DMCA (17 U.S.C. § 1201), this modification does not qualify as circumvention of a technological | |
// protection measure (TPM), as it does not involve bypassing encryption, authentication, or similar protections. | |
// Distributing this code is therefore legal under the DMCA. | |
// This script is intended for educational and research purposes, such as exploring trial-related file structures, | |
// or for system troubleshooting in controlled environments with explicit permissions. It is not intended to be used | |
// in a manner that violates Apple's software license agreement. | |
// WARNING | |
// Using this script to reset or extend the trial period of Final Cut Pro without Apple's authorization likely violates | |
// the software license agreement. Such actions may lead to legal consequences. The responsibility for compliance with | |
// all applicable laws and agreements lies solely with the user. The author of this script assumes no liability for misuse | |
// or any resulting consequences. | |
import Foundation | |
let path = URL(fileURLWithPath: NSString(string: "~/Library/Containers/com.apple.FinalCutTrial/Data/Library/Application Support/.ffuserdata").expandingTildeInPath) | |
let data = try! NSData(contentsOf: path) as Data | |
let dictionary = try! NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as! NSDictionary | |
let mutableDictionary = dictionary.mutableCopy() as! NSMutableDictionary | |
for (key, value) in mutableDictionary { | |
if value is NSDate { | |
mutableDictionary[key] = Date() | |
} | |
} | |
try! NSKeyedArchiver.archivedData(withRootObject: mutableDictionary, requiringSecureCoding: false).write(to: path) | |
print("You'd better buy it") |
It’s work, thanks a lot!
… On 18 Nov 2024, at 00:26, TehBrian ***@***.***> wrote:
@TehBrian commented on this gist.
@l0u1sg <https://github.com/l0u1sg>, I've updated https://gist.github.com/TehBrian/bf82c7505b647d423da6d5abbe2b95a3 with the correct path for newer versions of Final Cut Pro.
Additionally, I've made a similar Gist for Logic Pro, https://gist.github.com/TehBrian/1c236b6d9c58e736c0480a876759164d, which I'll keep updated as well.
—
Reply to this email directly, view it on GitHub <https://gist.github.com/dannote/17e0396fe2e19c6e60c915838376d267#gistcomment-5288591> or unsubscribe <https://github.com/notifications/unsubscribe-auth/ALELHA25ISC7Y653B6QFTX32BEQ2JBFKMF2HI4TJMJ2XIZLTSKBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDHNFZXJJDOMFWWLK3UNBZGKYLEL52HS4DFVRZXKYTKMVRXIX3UPFYGLK2HNFZXIQ3PNVWWK3TUUZ2G64DJMNZZDAVEOR4XAZNEM5UXG5FFOZQWY5LFVA4DIMBSGM4DANVHORZGSZ3HMVZKMY3SMVQXIZI>.
You are receiving this email because you were mentioned.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
--
Ce
message contient des informations confidentielles et est destiné
uniquement à
la personne nommée. Si vous n'êtes pas le destinataire nommé,
vous ne devez pas
diffuser, distribuer ou copier ce courriel. Veuillez
informer immédiatement l'expéditeur par courrier électronique si vous avez
reçu
ce courriel par erreur et supprimer ce courriel de votre système. Il
n'est pas possible de garantir la sécurité ou l'absence d'erreurs lors de
la
transmission d'un courriel, car les informations peuvent être
interceptées,
corrompues, perdues, détruites, arriver en retard ou être
incomplètes, ou
contenir des virus. L'expéditeur
décline donc toute
responsabilité en cas d'erreur ou d'omission dans le contenu
du présent
message, qui résulterait de la transmission du courrier
électronique. Si
une vérification est nécessaire, veuillez demander une version
papier.
@TehBrian thank you, updated the code accordingly.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@l0u1sg, I've updated https://gist.github.com/TehBrian/bf82c7505b647d423da6d5abbe2b95a3 with the correct path for newer versions of Final Cut Pro.
Additionally, I've made a similar Gist for Logic Pro, https://gist.github.com/TehBrian/1c236b6d9c58e736c0480a876759164d, which I'll keep updated as well.