Zoom Icon

Salling Clicker 3.5.1(514)

From UIC

Salling Clicker 3.5.1

Contents


Infos
Author: ftp21
Email: ftp21@olografix.org
Website: http://www.ftp21.eu
Date: 25/05/2008 (dd/mm/yyyy)
Level: Working brain required
Language: Italian Image:Flag_Italian.gif
Comments:



Introduzione

Essendosi rotto il mio bel Apple Remote quando sto al letto a guardare qualcosa mi da fastidio alzarmi :D


Tools & Files

  • Otx
  • 0xED o un qualsiasi editor esadecimale


URL o FTP del programma


Essay

Cominciamo... Il programma viene installato nel pannello degli strumenti di sistema, ed usa un'altra applicazione(SEC Helper) che rimane nella barra superiore del sistema operativo. Detto questo possiamo aprire il nostro fidato otx e disassemblare i file

  • /Library/PreferencePanes/Salling\ Clicker.prefPane/Contents/MacOS/Salling\ Clicker
  • /Library/PreferencePanes/Salling\ Clicker.prefPane/Contents/Resources/SEC\ Helper.app/Contents/MacOS/SEC\ Helper

E salviamo il disassemblato sulla Scrivania :D.

Ora cominciamo a giocare con il programma e notiamo subito che dopo 30 clicks esce fuori una finestrella brutta e quindi dobbiamo ricollegare il cellulare , e quindi perdere tempo prezioso e alzarsi dal letto.

Apriamo il disassemblato di SEC Helper.Ora il passo che mi è venuto da fare è stato quell di cercare 0x1e nel codice (1e=30) e come per magia ecco qui le righe belle del codice:

+34     0003a7d7  e81b090300                    calll   0x0006b0f7-[(%esp,1) resetDisconnectTimer]
+39     0003a7dc  8b435c                        movl    0x5c(%ebx),%eax ; (int)mCount
+42     0003a7df  83c001                        addl    $0x01,%eax
+45     0003a7e2  89435c                        movl    %eax,0x5c(%ebx) ; (int)mCount
+48     0003a7e5  83f81e                        cmpl    $0x1e,%eax
+51     0003a7e8  7522                          jne     0x0003a80c
+53     0003a7ea  c7042401000000                movl    $0x00000001,(%esp)
+60     0003a7f1  e81844fdff                    calll   0x0000ec0e
+65     0003a7f6  8b159ce30600                  movl    0x0006e39c,%edx  ; count
+71     0003a7fc  89542404                      movl    %edx,0x04(%esp)
+75     0003a800  890424                        movl    %eax,(%esp)
+78     0003a803  e8ef080300                    calll   0x0006b0f7-[(%esp,1) count]
+83     0003a808  85c0                          testl   %eax,%eax
+85     0003a80a  7407                          je      0x0003a813
+87     0003a80c  31c0                          xorl    %eax,%eax
+89     0003a80e  e99e000000                    jmpl    0x0003a8b1
; ......
+242    0003a8a7  e84b080300                    calll   0x0006b0f7-[(%esp,1) offerToStartListeningAgain]

Come faccio a sapere che questa è la porzione di codice giusta?Semplice se vediamo il corpo di offerToStartListeningAgain troviamo una chiamata a reconnectPanel il quale dentro contiene una stringa che ci dice che siamo belli

 "You have to connect again to get another 30 clicks.\n\nThis panel will not be shown if you purchase a serial number 
 to activate support for your PDA or phone."

Detto questo possiamo passare a patchare l'eseguibile.Quindi

+51     0003a7e8  7522                    jne   0x0003a80c
;....
+85     0003a80a  7407                    je    0x0003a813

Mettiamoci quattro belle NOP. A questo punto non ci resta altro da fare che riavviare Salling Clicker configurare il nostro telefono e controllare a distanza qualsiasi azione del pc

P.S. Si potrebbe anche modificare il file Salling Clicker per evitare che scriva quella nota rossa che ci ricorda che siamo in Trial Mode, il tutto si risolve aprendo il disassemblato di Salling Clicker posizionandoci qui:

+49     00027035  7578                  jne     0x000270af
;........
+124    00027080  8d934ad90300          leal    0x0003d94a(%ebx),%edx ; Running in trial-mode: activate the product from the About tab

e sostituendo il jne con un jmp

Detto questo abbiamo proprio finito.


Note Finali

Un ringraziamento speciale va a Nuke e poi a Q, Isazi e Lopoc


Disclaimer

I documenti qui pubblicati sono da considerarsi pubblici e liberamente distribuibili, a patto che se ne citi la fonte di provenienza. Tutti i documenti presenti su queste pagine sono stati scritti esclusivamente a scopo di ricerca, nessuna di queste analisi è stata fatta per fini commerciali, o dietro alcun tipo di compenso. I documenti pubblicati presentano delle analisi puramente teoriche della struttura di un programma, in nessun caso il software è stato realmente disassemblato o modificato; ogni corrispondenza presente tra i documenti pubblicati e le istruzioni del software oggetto dell'analisi, è da ritenersi puramente casuale. Tutti i documenti vengono inviati in forma anonima ed automaticamente pubblicati, i diritti di tali opere appartengono esclusivamente al firmatario del documento (se presente), in nessun caso il gestore di questo sito, o del server su cui risiede, può essere ritenuto responsabile dei contenuti qui presenti, oltretutto il gestore del sito non è in grado di risalire all'identità del mittente dei documenti. Tutti i documenti ed i file di questo sito non presentano alcun tipo di garanzia, pertanto ne è sconsigliata a tutti la lettura o l'esecuzione, lo staff non si assume alcuna responsabilità per quanto riguarda l'uso improprio di tali documenti e/o file, è doveroso aggiungere che ogni riferimento a fatti cose o persone è da considerarsi PURAMENTE casuale. Tutti coloro che potrebbero ritenersi moralmente offesi dai contenuti di queste pagine, sono tenuti ad uscire immediatamente da questo sito.

Vogliamo inoltre ricordare che il Reverse Engineering è uno strumento tecnologico di grande potenza ed importanza, senza di esso non sarebbe possibile creare antivirus, scoprire funzioni malevoli e non dichiarate all'interno di un programma di pubblico utilizzo. Non sarebbe possibile scoprire, in assenza di un sistema sicuro per il controllo dell'integrità, se il "tal" programma è realmente quello che l'utente ha scelto di installare ed eseguire, né sarebbe possibile continuare lo sviluppo di quei programmi (o l'utilizzo di quelle periferiche) ritenuti obsoleti e non più supportati dalle fonti ufficiali.