IconBox provides a way to easily download, organize and replace icons on OSX. The following proceedure never sets an expiration data and thus turns the program into a never ending trial.
0000000100003e47 488D15AADA0C00 lea rdx, qword [ds:cfstring_TrialExpirationDate] ; @"TrialExpirationDate" 0000000100003e4e 488B35CB5E0C00 mov rsi, qword [ds:objc_sel_valueForKey_] ; @selector(valueForKey:) 0000000100003e55 4C89FF mov rdi, r15 0000000100003e58 41FFD4 call r12 0000000100003e5b 4885C0 test rax, rax 0000000100003e5e E92B000000 jmp 0x100003e8e ... 0000000100003e8e 488B358B5E0C00 mov rsi, qword [ds:objc_sel_valueForKey_] ; @selector(valueForKey:) XREF=0x100003e5e 0000000100003e95 488D155CDA0C00 lea rdx, qword [ds:cfstring_TrialExpirationDate] ; @"TrialExpirationDate" 0000000100003e9c 4C89FF mov rdi, r15 0000000100003e9f FF15A3830A00 call qword [ds:imp___got__objc_msgSend] 0000000100003ea5 488B355C5E0C00 mov rsi, qword [ds:objc_sel_setTrialExpirationDate_] ; @selector(setTrialExpirationDate:) XREF=0x100003e8c ...
0000000100003c4c 488B35C55E0C00 mov rsi, qword [ds:objc_sel_trialExpirationDate] ; @selector(trialExpirationDate) 0000000100003c53 4889DF mov rdi, rbx 0000000100003c56 41FFD7 call r15 0000000100003c59 4885C0 test rax, rax 0000000100003c5c 90 nop 0000000100003c5d 90 nop 0000000100003c5e 488B35B35E0C00 mov rsi, qword [ds:objc_sel_trialExpirationDate] ; @selector(trialExpirationDate) 0000000100003c65 4C8B3DDC850A00 mov r15, qword [ds:imp___got__objc_msgSend] 0000000100003c6c 4889DF mov rdi, rbx 0000000100003c6f 41FFD7 call r15 0000000100003c72 488B356F600C00 mov rsi, qword [ds:objc_sel_setValue_forKey_] ; @selector(setValue:forKey:) 0000000100003c79 488D0D78DC0C00 lea rcx, qword [ds:cfstring_TrialExpirationDate] ; @"TrialExpirationDate" 0000000100003c80 EB58 jmp 0x100003cda
methImpl_AboutController_show_: 000000010003786f 55 push rbp 0000000100037889 FF15B9490700 call qword [ds:imp___got__objc_msgSend] 000000010003788f 4584F6 test r14L, r14L 0000000100037892 90 nop 0000000100037893 90 nop ...
Has to be performed 4 times at the addresses:
objc_sel_showMaxNumberOfIconsPanel_: 00000001000cb100 dq 0x00000001000886ee ; XREF=0x10001da9e, 0x10001f84f, 0x10001fcc9, 0x100020408
Eliminating the registered test:
methImpl_LibraryController_importCandyBarCollectionAction_: 000000010001d50b 55 push rbp 000000010001da48 483B5D88 cmp rbx, qword [ss:rbp+0xffffffffffffff88] ; XREF=0x10001d7b5 000000010001da4c 7363 jnc 0x10001dab1 000000010001da4e 488B05EBA90B00 mov rax, qword [ds:0x1000d8440] 000000010001da55 498B7C0500 mov rdi, qword [ds:r13+rax+0x0] 000000010001da5a 488B358FD60A00 mov rsi, qword [ds:objc_sel_incrementBy_] ; @selector(incrementBy:) 000000010001da61 F20F100597E40500 movsd xmm0, qword [ds:0x10007bf00] 000000010001da69 41FFD6 call r14 000000010001da6c 488B05DDA80B00 mov rax, qword [ds:0x1000d8350] 000000010001da73 498B7C0500 mov rdi, qword [ds:r13+rax+0x0] 000000010001da78 488B3579D60A00 mov rsi, qword [ds:objc_sel_applicationIsRegistered] ; @selector(applicationIsRegistered) 000000010001da7f 41FFD6 call r14 000000010001da82 84C0 test al, al 000000010001da84 90 nop 000000010001da85 90 nop 000000010001da86 90 nop 000000010001da87 90 nop 000000010001da88 90 nop 000000010001da89 90 nop 000000010001da8a 488B4590 mov rax, qword [ss:rbp+0xffffffffffffff90] 000000010001da8e 488D0418 lea rax, qword [ds:rax+rbx] 000000010001da92 483DFA000000 cmp rax, 0xfa 000000010001da98 0F821CFDFFFF jc 0x10001d7ba 000000010001da9e 488B355BD60A00 mov rsi, qword [ds:objc_sel_showMaxNumberOfIconsPanel_] ; @selector(showMaxNumberOfIconsPanel:) 000000010001daa5 4C89EF mov rdi, r13 000000010001daa8 4C89EA mov rdx, r13 000000010001daab FF1597E70800 call qword [ds:imp___got__objc_msgSend]
Enjoy. That's it for Iconbox 2.5.9.