Table of Contents

Shortnote

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.

First Patch

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
...

Second Patch

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

Registered Name

                                            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
...

Remove 250 Icon Limitation

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.