Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-02-2012, 09:36   #1
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Editare software già compilato

salve a tutti, utilizzo da svariati anni un programma che ormai non viene più aggiornato, il suo nome è "Filmup - Movie database on your desktop", non posto il link diretto perchè non vorrei andare contro le regole del forum, ad ogni modo questo software serve a catalogare la propria collezione di film ed ha la possibilità di effettuare una ricerca automatica nei più diffusi motori di ricerca del titolo indicato..
Dall'ultimo aggiornamento son passati vari anni e molti link dei siti di ricerca son cambiati..vorrei capire se è possibile modificarlo in modo da immettere gli url corretti..
Ho provato a spulciarlo un pò, ma non son venuto a capo di nulla..riuscite a darmi una mano?
E' un programmino molto semplice, intuitivo e che utilizza un database di Access per catalogare i film..

Spero riuscirete a risolvermi il problema o, andrebbe benissimo anche l'essere indirizzato su cosa modificare per far ciò di cui ho bisogno..

Grazie tante.
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 12:49   #2
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Se le stringhe che rappresentano i link sono nell'eseguibile, allora la strada da seguire non è per nulla semplice.

Si tratta delle stesse tecniche che usano coloro che creano crack e compagnia, quindi parliamo di gente che mangia pane e informatica.

Non voglio scoraggiarti ma bisogna avere un livello di conoscenze estremamente elevato per fare quello che chiedi.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 13:05   #3
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Pare proprio le stringhe siano nell'eseguibile, eccone un esempio:

Codice:
* Possible String Reference to: 'http://filmup.leonardo.it'
|
00A43AA2   BA943FA400             mov     edx, $00A43F94

* Reference to: System.@LStrAsg(void;void;void;void);
|
00A43AA7   E8D8169CFF             call    00405184

* Reference to FRicercaFilm
|
00A43AAC   8B45FC                 mov     eax, [ebp-$04]

* Reference to field TFRicercaFilm.OFFS_0C84
|
00A43AAF   8B90840C0000           mov     edx, [eax+$0C84]

* Reference to FRicercaFilm
|
00A43AB5   8B45FC                 mov     eax, [ebp-$04]
00A43AB8   05880C0000             add     eax, +$00000C88

* Possible String Reference to: '/cgi-bin/search.cgi?ps=10&fmt=long&
|                                q=|NS|&ul=%25%2Fsc_%25&m=all&wf=002
|                                0&wm=wrd&sy=0&x=24&y=8'
|
00A43ABD   B9B83FA400             mov     ecx, $00A43FB8

* Reference to: System.@LStrCat3;
|
00A43AC2   E8A1199CFF             call    00405468

* Reference to FRicercaFilm
|
00A43AC7   8B45FC                 mov     eax, [ebp-$04]
00A43ACA   058C0C0000             add     eax, +$00000C8C

* Possible String Reference to: 'sc_'
|
00A43ACF   BA2040A400             mov     edx, $00A44020

* Reference to: System.@LStrAsg(void;void;void;void);
|
00A43AD4   E8AB169CFF             call    00405184
00A43AD9   E911040000             jmp     00A43EEF
00A43ADE   8D55C8                 lea     edx, [ebp-$38]

* Reference to FRicercaFilm
|
00A43AE1   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TFRicercaFilm.cxxpMotoriDiRicerca : TcxExtLookupComboBox
|
00A43AE4   8B807C0B0000           mov     eax, [eax+$0B7C]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
00A43AEA   E87DE0A4FF             call    00491B6C
00A43AEF   8B45C8                 mov     eax, [ebp-$38]
Il programma è stato compilato in delphi, ma con un decompiler mi è venuto fuori tutto linguaggio assembler :\

Quel che a me interessa modificare è:
* Possible String Reference to: '/cgi-bin/search.cgi?ps=10&fmt=long&
| q=|NS|&ul=%25%2Fsc_%25&m=all&wf=002
| 0&wm=wrd&sy=0&x=24&y=8'

Ma dubito che, modificandola con il blocco note, possa poi funzionare...

Qualche soluzione?

Grazie
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 14:41   #4
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Ovviamente col blocco note faresti un casino. Non è un software in grado di manipolare file binari. Ci vuole un editore esadecimale tipo HxD.

A quel punto puoi modificare la stringa, prestando attenzione al tipo. Non so se delphi usa ancora le stringhe pascal oppure quelle c, per cui devi vedere la stringa com'è fatta.

A seconda del tipo di stringa, la modifica va fatta in maniera diversa. Questo a patto che ci sia spazio a sufficienza per inserire la nuova stringa al posto della vecchia.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 15:03   #5
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Emh..non ho capito granchè..solo che non mi conviene modificare con il blocco note :\

Bisogna partire dal fatto che non ho mai programmato...quindi non ho idea di cosa m'hai detto

In parole povere? Scarico un editor esadecimale e...?
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 15:41   #6
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Papatodero Guarda i messaggi
Emh..non ho capito granchè..solo che non mi conviene modificare con il blocco note :\
se lo fai, il file viene corrotto e sarà inutilizzabile

Quote:
Originariamente inviato da Papatodero Guarda i messaggi
In parole povere? Scarico un editor esadecimale e...?
semplicemente devi sostituire la stringa che c'è con quella che ti serve

il come dipende dalle opzioni dell'editor

l'unica cosa è capire se sono stringhe C-like o pascal-like, cosa che può fare una grossissima differenza

http://en.wikipedia.org/wiki/Compari..._and_C#Strings
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 19:46   #7
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
dovrebbero essere pascal-like, anche se, parlando con un amico programmatore, mi ha detto testualmente:

Quote:
posso già dirti che quel decompilato è inutilizzabile
se trovi qualche altro tool che te lo fa meglio
hai presente che all'inizio è escritto decentemente ogni file tipo:
bvlLine: TBevel;
lblSingle: TLabel;
lblSeries: TLabel;
btnOK: TcxButton;
btnCancel: TcxButton;
questo è pascal
il resto è assembler
e non ci fai nulla
Come devo comportarmi dunque?

Il decompilatore che ho utilizzato è DeDe...
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 20:40   #8
ESSE-EFFE
Member
 
Iscritto dal: May 2009
Messaggi: 186
Quote:
Originariamente inviato da Papatodero Guarda i messaggi
dovrebbero essere pascal-like, anche se, parlando con un amico programmatore, mi ha detto testualmente:
posso già dirti che quel decompilato è inutilizzabile
Non è detto. Per sostituire una stringa e provare non ci vuole molto. Poi se non funziona è un altro discorso...
__________________
ESSE-EFFE.com
Sviluppo software e Web
Creazione loghi - Bergamo
ESSE-EFFE è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 21:07   #9
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Papatodero Guarda i messaggi
dovrebbero essere pascal-like, anche se, parlando con un amico programmatore, mi ha detto testualmente:



Come devo comportarmi dunque?

Il decompilatore che ho utilizzato è DeDe...

ma infatti non devi decompilare niente, devi semplicemente sostituire con un hex editor le stringhe che t'interessano

basta editarle, niente di che

solo che se sono c-like, ci va un bel carattere zero alla fine, se sono pascal-like devi cambiare i primi bytes che indicano la lunghezza della stringa

provare a decompilare e ricompilare un eseguibile è da folli
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 21:14   #10
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Non mi è chiarissimo, dunque, scarico un hex editor e gli do in pasto l'eseguibile?!

Considera che le stringhe da cambiare sarebbero almeno 5..quella che ho postato era un esempio...

Ho paura di non riuscire a seguire molto il discorso, si può essere leggermente più user-friendly? Per me è dura seguire ciò che concerne questo mondo a me quasi sconosciuto

Grazie
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 15-02-2012, 23:39   #11
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
E' impossibile essere user-friendly trattando argomenti avanzati. Pensa che quest'operazione è molto simile a quello che si faceva prima dei compilatori, quando si programmava in binario.

Scaricati HxD e comincia a giocare con le sue funzionalità di editing su un file qualsiasi.

Devi prenderci la mano e capire un pò di cose, prima di poter modificare un eseguibile.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 09:20   #12
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Ok, scaricato HxD, ho aperto l'eseguibile e ho trovato le stringhe che vorrei modificare, tipo:

http://filmup.leonardo.it/cgi-bin/se...10&fmt=long&q=

Con affianco:
68 74 74 70 3A 2F 2F 66 69 6C 6D 75 70 2E 6C 65 6F 6E 61 72 64 6F 2E 69 74 2F 63 67 69 2D 62 69 6E 2F 73 65 61 72 63 68 2E 63 67 69 3F 70 73 3D 31 30 26 66 6D 74 3D 6C 6F 6E 67 26 71 3D


Io dovrei modificarla in:
http://filmup.leonardo.it/cgi-bin/se...21&wm=wrd&sy=0

Capisco che dovrei prenderci la mano anche con altri files, ma questo è quanto mi serve, non mi si potrebbe seguire passo passo nell'editing di questa stringa in modo che possa poi imparare come fare le altre da solo?

Grazie ancora

Ultima modifica di Papatodero : 16-02-2012 alle 09:23.
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 11:47   #13
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Dovresti postare uno screenshot della finestra dell'editor, altrimenti è difficile capire che sta succedendo.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 11:55   #14
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Ecco un paio di screen di alcune delle stringhe che voglio cambiare:



Anche se ho paura che, anche editando queste stringhe, potrebbe non funzionare... :\
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 12:13   #15
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
In primo luogo puoi cambiare le stringhe solo se la stringa che andrai a mettere è più piccola di quella che già c'è.

Poi ho visto che che le stringhe in delphi sono null-terminated, per l'esattezza i due 00 00 dopo la stringa ne indicano il termine.

Ho notato però che prima della stringa c'è un valore a 32 bit che ne indica la dimensione.

3E 00 00 00 per la prima e 44 00 00 00 per la seconda.

Quello che devi fare è:

1. inserire la tua stringa
2. alla fine della stringa aggiungere 00 00
3. calcolare la dimensione della stringa, convertire il numero in esadecimale ( si può fare con la calcolatrice ) e sostituirlo al posto di 3E e 44 rispettivamente.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 13:21   #16
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Non son certo d'aver capito bene, inserisco qualche screenshot:

Questo è il file non modificato



Questo, invece, è come l'ho modificato


Devo inserire tutti gli 00 per non modificare la dimensione del file, giusto?

Come calcolo la dimensione della stringa?
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 13:40   #17
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21833
Quote:
Originariamente inviato da pabloski Guarda i messaggi
In primo luogo puoi cambiare le stringhe solo se la stringa che andrai a mettere è più piccola di quella che già c'è.

Poi ho visto che che le stringhe in delphi sono null-terminated, per l'esattezza i due 00 00 dopo la stringa ne indicano il termine.

Ho notato però che prima della stringa c'è un valore a 32 bit che ne indica la dimensione.

3E 00 00 00 per la prima e 44 00 00 00 per la seconda.

Quello che devi fare è:

1. inserire la tua stringa
2. alla fine della stringa aggiungere 00 00
3. calcolare la dimensione della stringa, convertire il numero in esadecimale ( si può fare con la calcolatrice ) e sostituirlo al posto di 3E e 44 rispettivamente.
delphi è pascal le stringhe non sono null terminate ma nella posizione 0 dell'array è inserita la dimensione, e le celle inutilizzate contengono valori casuali
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 14:46   #18
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Papatodero Guarda i messaggi
Non son certo d'aver capito bene, inserisco qualche screenshot:

Devo inserire tutti gli 00 per non modificare la dimensione del file, giusto?

Come calcolo la dimensione della stringa?
la dimensione della stringa è il numero di carattery che contiene

devi metterla al posto del 38

Quote:
Originariamente inviato da !fazz Guarda i messaggi
delphi è pascal le stringhe non sono null terminate ma nella posizione 0 dell'array è inserita la dimensione, e le celle inutilizzate contengono valori casuali
infatti anch'io ho pensato la stessa cosa, derivando delphi dal pascal, però ho trovato questo http://www.codexterity.com/delphistrings.htm

a quanto leggo le AnsiStrings sono null-terminated

del resto pure il file che ha analizzato Papatodero mostra due bytes nulli alla fine della stringa, come descritto nel documento che ho postato
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 16:33   #19
Papatodero
Junior Member
 
Iscritto dal: Feb 2012
Messaggi: 13
Ho fatto la modifica delle stringhe che pensavo potessero risolvere il mio problema, ma nulla è cambiato..continua a non trovarmi nessun film :\
Papatodero è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2012, 19:26   #20
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da Papatodero Guarda i messaggi
Ho fatto la modifica delle stringhe che pensavo potessero risolvere il mio problema, ma nulla è cambiato..continua a non trovarmi nessun film :\
beh almeno la modifica è stata un successo, visto che parte
pabloski è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
I robot aspirapolvere Neato diventeranno...
Lux e Discovery, AMD e il Dipartimento d...
Qualcomm entra nei datacenter: annunciat...
Amazon prepara il più grande lice...
Un post di Sean Duffy (amministratore ad...
SpaceX ha già lanciato oltre 135 ...
GeForce RTX 5060 Ti 8GB: non piace neanc...
Isar Aerospace Spectrum: il fallimento d...
'State lontani dalla GeForce RTX 5090 Fo...
GJ 251 c è la ''super-Terra'' sco...
Halo è ufficialmente multipiattaf...
Windows 11 25H2 e 24H2: come attivare su...
Brembo Solutions e Microsoft danno vita ...
Migliaia di pacchi Amazon rubati ai legi...
Ex CEO di Stellantis: Musk lascerà...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:04.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v