Decloner is an OSX tool for finding duplicate files. The trial is a fully functional 30-day trial which can be easily converted to a never-ending trial.
The trial title text can be disabled by jumping over the intstructions that append the number of days left in the MainWindowController_title subroutine around 0x100009d62.
methImpl_MainWindowController_title: 0000000100009d62 55 push rbp 0000000100009d63 4889E5 mov rbp, rsp 0000000100009d66 4156 push r14 0000000100009d68 53 push rbx 0000000100009d69 488D3D08760500 lea rdi, qword [ds:cfstring_Decloner] ; @"Decloner" 0000000100009d70 E85F710200 call imp___stubs__objc_retain 0000000100009d75 488B3D9C550500 mov rdi, qword [ds:0x10005F318] 0000000100009d7c 488D355D530500 lea rsi, qword [ds:objc_msg_alloc] ; @selector(alloc) 0000000100009d83 FF1557530500 call qword [ds:objc_msg_alloc] ; @selector(alloc) 0000000100009d89 488B3548380500 mov rsi, qword [ds:objc_sel_init] ; @selector(init) 0000000100009d90 488B1D29640400 mov rbx, qword [ds:imp___got__objc_msgSend] 0000000100009d97 4889C7 mov rdi, rax 0000000100009d9a FFD3 call rbx 0000000100009d9c 4989C6 mov r14, rax 0000000100009d9f 488B35F23E0500 mov rsi, qword [ds:objc_sel_isValid] ; @selector(isValid) 0000000100009da6 4C89F7 mov rdi, r14 0000000100009da9 FFD3 call rbx 0000000100009dab 84C0 test al, al 0000000100009dad 90 nop 0000000100009dae 90 nop 0000000100009daf 488D1DC2750500 lea rbx, qword [ds:cfstring_Decloner] ; @"Decloner" 0000000100009db6 EB63 jmp 0x100009E1B ... 0000000100009e1b 4889DF mov rdi, rbx ; XREF=0x100009db6 0000000100009e1e E8B1700200 call imp___stubs__objc_retain 0000000100009e23 4C89F7 mov rdi, r14 ; XREF=0x100009e12 0000000100009e26 E8A3700200 call imp___stubs__objc_release 0000000100009e2b 488D3D46750500 lea rdi, qword [ds:cfstring_Decloner] ; @"Decloner" 0000000100009e32 E897700200 call imp___stubs__objc_release 0000000100009e37 4889DF mov rdi, rbx 0000000100009e3a 5B pop rbx 0000000100009e3b 415E pop r14 0000000100009e3d 5D pop rbp 0000000100009e3e E96D700200 jmp imp___stubs__objc_autoreleaseReturnValue
This is done by nop-ing the je and sliding to the jmp to 0x10009E1B which just leaves the title as Decloner.
The nag window can be disabled so that it never shows, by jumping over the code responsible for showing the window. This is done in the showNagWindow procedure by using a jmp to 0x100005690.
methImpl_MainWindowController_showNagWindow: 000000010000562c 55 push rbp 000000010000562d 4889E5 mov rbp, rsp 0000000100005630 4157 push r15 0000000100005632 4156 push r14 0000000100005634 4155 push r13 0000000100005636 4154 push r12 0000000100005638 53 push rbx 0000000100005639 50 push rax 000000010000563a 4989FC mov r12, rdi 000000010000563d 488B0524EF0500 mov rax, qword [ds:_OBJC_IVAR_$_MainWindowController.nagWindowController] 0000000100005644 498B3C04 mov rdi, qword [ds:r12+rax] 0000000100005648 4885FF test rdi, rdi 000000010000564b E940000000 jmp 0x100005690 ... 0000000100005690 488B05A1A90400 mov rax, qword [ds:imp___got__NSApp] ; XREF=0x10000564b 0000000100005697 4C8B30 mov r14, qword [ds:rax] 000000010000569a 488B35F7800500 mov rsi, qword [ds:objc_sel_window] ; @selector(window) 00000001000056a1 4C8B2D18AB0400 mov r13, qword [ds:imp___got__objc_msgSend] ...
The unregistered text can be disabled by using a jmp to 0x100013A9A in the unregisteredText method:
 
====== B E G I N   O F   P R O C E D U R E ======
 
 
                                       ; Basic Block Input Regs: rax -  Killed Regs: rsi rdi
                                            methImpl_static_RegistrationWindowController_unregisteredText:
0000000100013a29 55                              push       rbp
0000000100013a2a 4889E5                          mov        rbp, rsp
0000000100013a2d 53                              push       rbx
0000000100013a2e 50                              push       rax
0000000100013a2f 488B35D2A50400                  mov        rsi, qword [ds:objc_sel_trialDaysLeft] ; @selector(trialDaysLeft)
0000000100013a36 488B3D0BB90400                  mov        rdi, qword [ds:0x10005F348]
0000000100013a3d FF157DC70300                    call       qword [ds:imp___got__objc_msgSend]
0000000100013a43 4885C0                          test       rax, rax
0000000100013a46 E94F000000                      jmp        0x100013A9A
...
                                       ; Basic Block Input Regs: rbx -  Killed Regs: rbx rsp rbp rdi
0000000100013a9a 4889DF                          mov        rdi, rbx                      ; XREF=0x100013a46, 0x100013a89
0000000100013a9d 4883C408                        add        rsp, 0x8
0000000100013aa1 5B                              pop        rbx
0000000100013aa2 5D                              pop        rbp
0000000100013aa3 E908D40100                      jmp        imp___stubs__objc_autoreleaseReturnValue
                        ; endp
The number of trial days can be set permanently to 30 by jumping over the code responsible for calculating the number of days left in the trialDaysLeft procedure:
 
====== B E G I N   O F   P R O C E D U R E ======
 
 
                                       ; Basic Block Input Regs: rax -  Killed Regs: rdx rbx rsi rdi r14 r15
                                            methImpl_static_DCTrial_trialDaysLeft:
00000001000168ff 55                              push       rbp
...
0000000100016962 E9F4000000                      jmp        0x100016A5B
0000000100016967 90                              nop        
...
                                       ; Basic Block Input Regs: rbx r14 -  Killed Regs: rax rbx rsp rbp rdi r12 r13 r14 r15
0000000100016a5b 4C89F7                          mov        rdi, r14                      ; XREF=0x100016962
0000000100016a5e E86BA40100                      call       imp___stubs__objc_release
0000000100016a63 4889D8                          mov        rax, rbx
0000000100016a66 4883C408                        add        rsp, 0x8
0000000100016a6a 5B                              pop        rbx
0000000100016a6b 415C                            pop        r12
0000000100016a6d 415D                            pop        r13
0000000100016a6f 415E                            pop        r14
0000000100016a71 415F                            pop        r15
0000000100016a73 5D                              pop        rbp
0000000100016a74 C3                              ret        
                        ; endp
That is it for version 1.5.2.