Jump to content
Nokioteca Forum

Renamer Per Temi Installati


mazzanokia
 Share

Recommended Posts

memory... me ne ero accorto anche io del byte che indica la lunghezza e che sta prima della stringa... ma evidentemente c'è qualcosa in più che va modificato...

comunque anche io ho quasi finito... sto facendo un modulo apposta per mshell.

per ora è possibile fare:

* ottenere l'elenco delle skin sia in C che in E

* ottenere il nome di un tema

* cambiare il nome (per ora c'è solo la parte grafica e mi manca solo il pezzo di programma che salva la skin con il nuovo nome)

ovviamente la lunghezza non può essere maggiore di quella originale

Link to comment
Condividi su altri siti

  • Risposte 56
  • Created
  • Ultima Risposta

Top Posters In This Topic

memory... me ne ero accorto anche io del byte che indica la lunghezza e che sta prima della stringa... ma evidentemente c'è qualcosa in più che va modificato...

comunque anche io ho quasi finito... sto facendo un modulo apposta per mshell.

per ora è possibile fare:

* ottenere l'elenco delle skin sia in C che in E

* ottenere il nome di un tema

* cambiare il nome (per ora c'è solo la parte grafica e mi manca solo il pezzo di programma che salva la skin con il nuovo nome)

ovviamente la lunghezza non può essere maggiore di quella originale

:unsure:

Anche io faccio un modulo ma per python :guitar: Cosi tutti possono usarlo nel linguaggio preferito!

Forse ho capito come si potrebbe modificare anche la lunghezza...mi sa che è una cavolata ma tentar non nuoce :jerry:

Voglio però fare anche un programmino! tanto non mi risulta difficile...

Modificato da memoryn70
Link to comment
Condividi su altri siti

Il programma è pronto :thumbs:

c'è il modulo... ma ho anche fatto lo script con la parte grafica...(avevo molte funzioni già pronte dall'altro mio programma EasySearch) Così potete subito rinonimare i temi :thumbs:

purtroppo adesso non posso postarlo perché al pc c'è mia sorella (io sono connesso tramite bluetooth)

comunque entro oggi avrete il programma :lmaosmiley:

Link to comment
Condividi su altri siti

Il programma è pronto :thumbs:

c'è il modulo... ma ho anche fatto lo script con la parte grafica...(avevo molte funzioni già pronte dall'altro mio programma EasySearch) Così potete subito rinonimare i temi :thumbs:

purtroppo adesso non posso postarlo perché al pc c'è mia sorella (io sono connesso tramite bluetooth)

comunque entro oggi avrete il programma :lmaosmiley:

Beh se hai già pronto qualcosa...bene :rolleyes:

Link to comment
Condividi su altri siti

ecco qui :thumbs:

è la prima versione quindi avrà sicuramente qualche difetto... io l'ho provato e funziona...

ora non ho tempo per creare un post con descrizione e cose varie quindi allego solo il programma :lmaosmiley:

SkinRenamer_1_0.sis

Ottimo bravo! :thumbs:

Stavo cercando di scoprire di più il formato di sti skn...stay tuned :thumbs:

Link to comment
Condividi su altri siti

Studiandomi il formato, sono riuscito a capirci un po di più!

Praticamente ora dovrei riuscire a fare una funzione che dovrebbe funzionare con tutti i tipi di temi che recupera il nome e il copyright (se c'è).

Devo ancora però scoprire come poter modificare il nome a piacimento...

Link to comment
Condividi su altri siti

Studiandomi il formato, sono riuscito a capirci un po di più!

Praticamente ora dovrei riuscire a fare una funzione che dovrebbe funzionare con tutti i tipi di temi che recupera il nome e il copyright (se c'è).

Devo ancora però scoprire come poter modificare il nome a piacimento...

Una nuova versione dell'estrattore di nomi dai temi...con questa funzione, rispetto alla prima, si può leggere qualsiasi tema (con/senza copyright, 2nd editon FP 1,2,3). Sto facendo anche quella per il copyright ma sono ancora alla ricerca di una costante :thumbs:

def get(file):
'''Funzione per leggere il file .skn di un tema. Per ora ritorna: nome tema, lunghezza nome'''
f=open(file,'rb') #File skn
temp=f.read().split("\xf5")[1][10:]
real_len=struct.unpack("H",temp[:2])[0] #H	  unsigned short	  integer (preso dalla doc di struct della guida python)  (penso sia uguale a byte[0] * byte[1])
uni_len=real_len*2 #Moltiplichiamo per due la lunghezza: la stringa è in formato utf16 (unicode)
nome=temp[2:(uni_len+2)].decode("utf16") #Leggiamo la stringa e decodifichiamola dall'utf16
f.close() #Beh ora chiudiamo il file;)
return nome,real_len

Al più presto metto assieme anche una libreria...

Link to comment
Condividi su altri siti

memory: per recuperare il nome il mio programma cerca la stringa: 01 00 01 00 01 00, i due byte successivi indicano la lunghezza del nome del tema

spero di esserti stato utile :P

E' vero ;) Ora ho notato pure io!

Hehe vedi quando non si sa una struttura si cerca in tutti i modi!

Io con la nuova funzione cerca il byte 0xf5 che in tutti i temi è prima della lunghezza di 10 byte ;)

ora sto cercando per recuperare la stringa del copyright!

EDIT: ora cerco a vedere se riesco a cambiare la lunghezza della stringa come voglio io! :(

Modificato da memoryn70
Link to comment
Condividi su altri siti

Ultime notizie:

-ho scoperto che (almeno, presumo siano almeno 4 dovrei fare 1 skn di + di 65 kb) i primi due byte indicano la lunghezza del file in byte (adesso devo fare delle prove, se modificando quello il telefono non accetta più o cose del genere; se fosse solo questo basta adattarlo di volta in volta quando si cambia il nome)

-4 byte da 0x08 a 0x0b indicano l'uid

Stay Tuned ;)

EDIT:

modificando i byte della lunghezza del file, appena tento di applicare il tema mi dà tema danneggiato....se provo a modificare la lunghezza ed a "patchare" questo valore il tema me lo da proprio da buttare, non legge niente e me lo fa solo eliminare. Infatti cambiano altri 4 byte un po prima del nome che ora dovrò stare a capire a cosa servono :huh::wacko: :wacko:

"I fantastici 4" (...byte) :lol:

EDIT2: ho il presentimento che sia un CRC32....altrimenti saprei come ricavare un crc32 con python...ma bisogna scoprire di cosa ;)

EDIT∞: mi sa che non è un crc32 facendo varie prove... è veramente quasi impossibile scoprire come proteggono sti files...

Modificato da memoryn70
Link to comment
Condividi su altri siti

!! Forse ho trovato come potrebbe essere possibile cambiare la lunghezza!! Devo solo fare alcune prove e vedere se è effettivamente quello...

Ragazzi: ce l'ho fatta!!! ;) ;)

Ho capito come sono messe ste stringhe!!

Da doma sto via 3 giorni ma poi faccio 1 bella libreria e probabilmente un programmino :rolleyes: (Anche se l'ha già fatto xmetallicax...io lo faccio in python...)

Comunque intanto vi spiego brevemente come sono scritte le stringhe:

praticamente la stringa è all'interno di un "container" tra i byte f5. Prima della definizione della lunghezza, ci sono subito dopo f5 4 byte che indicano la posizione del successivo f5 (posizione dal primo byte f5);)

ora non spiego i dettagli di come cambiare la stringa..vedrete la funzione

Comunque i passaggi sono:

1)patchare la stringa nel modo che si vuole (seguendo le regole ovviamente :))

2)patchare i 2 byte a inizio file (alla fine penso siano 4, dato che file .skn superiori a 65535 byte esistono penso) con la dimensione del file creato!

3)Aprire i temi e vedere il risultato :)

Reverse engineering by Memory :thumbsup_anim:

Modificato da memoryn70
Link to comment
Condividi su altri siti

grazie mille :thumbsup_anim: ho modificato il programma e funziona benissimo.

quando troverò un po' di tempo lo rilascerò come applicazione stand-alone ma saranno disponibili anche i sorgenti :thumbsup_anim:

PS: ti ho citato per nickname nella schermata iniziale appena si avvia il programma (se preferisci che metta il tuo nome reale e/o sito web basta che mi contatti via MP :( )

grazie ancora ;)

Link to comment
Condividi su altri siti

grazie mille :thumbs: ho modificato il programma e funziona benissimo.

quando troverò un po' di tempo lo rilascerò come applicazione stand-alone ma saranno disponibili anche i sorgenti :blink:

PS: ti ho citato per nickname nella schermata iniziale appena si avvia il programma (se preferisci che metta il tuo nome reale e/o sito web basta che mi contatti via MP :P )

grazie ancora :)

Figurati ;)

Sono sempre propenso ad un unione di conoscenze :unsure:

Sarebbe anche carino visualizzare sempre con il tuo programma l'uid del tema (non serve a gran che ma tanto vale :wacko:) e il copyright (quando ho 1 attimo di tempo cerco ancora come ricavarlo, la modifica non mi metto nemmeno a provare a farla dato che non serve e "danneggia" il creatore...tra l'altro è tutta una altra cosa di una normale stringa nel file)

Mi piacerebbe anche scoprire come poter avere un anteprima (cercando di ottenere il numero del bitmap all'interno del mbm del tema dello sfondo o di altri elementi...)

Modificato da memoryn70
Link to comment
Condividi su altri siti

Ottimo lavoro ad entrambi i programmatori...........aspetto le "creazioni" definitive.....:)

..........curiosità: sarebbe possibile programmare anche un RenAmer per le applicazioni installate che compaiono in Gestione applicazioni?.......o non è possibile perchè andrebbero rinominate proprio nel codice delle applicazioni prima di installarle e quindi niente da fare....?

:)

Link to comment
Condividi su altri siti

  • 2 settimane dopo...

Intendevo: se vado in Gestione (dove appaiono tutte le applicazioni installate) alcune applicazioni per esempio appaiono con nomi strani (per esempio un gioco mi appare con i quadratini del carattere mancante)......volevo dire per esempio: in Gestione mi appare una app con il nome "Pippo", è possibile rinominarlo in "Ciccio"?......che esempio! :suicide_anim:

...praticamente la stessa cosa che ho richiesto per i temi........:axehead:

....a proposito, procede bene il lavoro per ThemeRenamer? :lol:

...quella postata qualche post fa da Metallica era solo una cosa provvisoria vero?

:doh:

Modificato da mazzanokia
Link to comment
Condividi su altri siti

si quella è solo una cosa provvisoria ;) il programma che permette di rinominare i temi con un nome di lunghezza a piacere (grazie all'aiuto di memoryn70 :( ) è pronto e anche questo (come quello che controlla il segnale) lo rilascerò fra qualche giorno...

Ah benissimo! Magari prima del rilascio...ho trovato il modo di vedere il copyright e anche i colori vari (ma nn ho trovato ne cercato nessun ordine particolare, ho solo trovato il modo di recuperare i colori (anche modificarli nn ci sarebbe problema ma bisognerebbe andare a caso :))! Già da un po ma poi mi sono dimenticato di postare :thumbs:

Ecco il risultato del reverse di alcuni temi ad esempio:

RU Ultra Blue

Uid 0x47daa6e7

Memoria Telefono

['e6e6e600', 'ffffff00', 'ffffff00', '00000000']

BlackLine_by Kork

Uid 0xd85e791b

Memoria Telefono

['ffffff00']

Tema originale

Nokia1Copyright © 2004,2005 Nokia. All rights reserved.

Uid 0x101f84b2

Memoria Esterna

[]

Hack

Uid 0x19143832

Memoria Esterna

['00000000', 'fffbfb00', 'ffffff00', '00000000']

AEBritney2

Uid 0x44142420

Memoria Esterna

['0000ff00', '80808000', 'a6a6a600', '00000000']

Need4SpeedUnderground

Uid 0x492cd2ae

Memoria Esterna

['1fe64d00', '1fe64d00', '00000000']

Linux

Nokia,Copyright © 2003 Nokia. All rights reserved.

Uid 0x4c696e20

Memoria Esterna

['00000000']

TombRaider

Uid 0x4c7518c4

Memoria Esterna

['fffbfb00', 'ffffff00', 'fffbfb00', '00000000']

MidNt2

Nokia,Copyright © 2003 Nokia. All rights reserved.

Uid 0x4d696432

Memoria Esterna

['00000000']

WinVista

Uid 0x55223bb3

Memoria Esterna

['aaaaaa00', 'ffffff00', 'fffbfb00', '00000000']

Shrek

Uid 0x7f49249f

Memoria Esterna

['4c146c00', '4c146c00', '00000000']

Blue-tech by Jendell

"© 05 Luglio 2007 PADOVA (ITALY)

Uid 0x9d7052e5

Memoria Esterna

['ffffff00']

Nfs Carbon

Blue Ray TM 2006

Uid 0xc273825e

Memoria Esterna

['bdec9900', '234d0300', '00000000']

Series 60 Theme

Nokia1Copyright © 2004,2005 Nokia. All rights reserved.

Uid 0x101f84b9

Sistema (Rom)

[]

Nokia Theme

Nokia1Copyright © 2004,2005 Nokia. All rights reserved.

Uid 0x101f84ba

Sistema (Rom)

[]

TIM N70

Uid 0x101fd617

Sistema (Rom)

['0a267300', 'ffffff00']

Metal

Nokia1Copyright © 2004,2005 Nokia. All rights reserved.

Uid 0x10207116

Sistema (Rom)

['2a5b6d00']

Lights

Nokia1Copyright © 2004,2005 Nokia. All rights reserved.

Uid 0x10207118

Sistema (Rom)

['ffffff00', '068da700', '00000000', '00000000', '00000000', '00000000', '00000000', '00000000', 'ffffff00']

Temi totali: 18

Nelle liste i colori...

Funzione python x i colori:

def get_colors(fi):
t=[]
f=open(fi,"rb")
a=f.read()
f.close()
l=a.split("ffff00000000ffff".decode("hex"))
for i in l:
	if len(i)==4: t.append(i.encode("hex"))
return t

...e per il copyright!

def get_cop(file):
c=''
f=open(file,'rb') #File skn
f.seek(0x44)
while 1:
	p=f.read(1)
	if p in ['\xf5','\x02',''] : break
#		elif ord(p)==0: break
	c+=p
#		n=p
#i=hex(struct.unpack('l',f.read(4))[0])
try: c=c.decode("utf16") #Se è subito in forma giusta
except: 
	try: c=c[:-1].decode("utf16") #se dovesse esserci un byte in più (lung. dispari)
	except: pass #Se non si può, ritorna cmq la stringa che si ottiene
f.close()
if c=='u\x0000': c=''
elif c=='\x00': c=''
return c

Modificare il copyright non si può e non sarebbe comunque giusto ;)

Ciao!!

Modificato da memoryn70
Link to comment
Condividi su altri siti

Please sign in to comment

You will be able to leave a comment after signing in



Accedi Ora
 Share


×
×
  • Crea Nuovo...

Informazione Importante

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy