Oppure

Loading
23/12 14:59
AldoBaldo
[...]

Ho realizzato una piccola utility di pochi kb (13, per la precisione) che inserisce nel browser indirizzi web, nomi utenti e password con un solo drag-and-drop. L'utility funziona benissimo, anche se occorre istruire l'antivirus su ogni apparecchio circa il fatto che si tratta di un programma innocuo e non di una bomba nucleare ("minaccia grave", dice quello scemo).

Il problema è che le stringhe da immettere sono state inserite come costanti nel codice, laddove sarebbe preferibile un meccanismo che permettesse di sceglierle in esecuzione e di ricaricarle nei lanci successivi del programma.

Generare un file esterno mi sembra oltremodo stupido, perché troppo facilmente accessibile, per cui mi chiedevo se fosse possibile memorizzare un PIN con una quantità di cifre compresa tra 1 e 8 direttamente nel file dell'eseguibile. Non ho mai fatto niente del genere, e non so niente in proposito.

Il programma è in ANSI C e winapi32 senza fronzoli. Se necessario, posso fare uno zip e allegarlo (non è poi così ampio).

Spunti? Consigli? Devo lasciar perdere e tenermi il PIN incorporato nel programma come costante? Mi conviene salvarlo in un file, magari invisibile? magari criptato alla bell'e meglio? Dai, un'idea please! :k:

Ultima modifica effettuata da AldoBaldo 24/12 11:31
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
23/12 15:37
Carlo
Le stringhe in un eseguibile sono in chiaro e modificabili.
Puoi aprire il tuo exe con un exeditor e provare a modificarlo. Ogni carattere del PIN presente nel file occuperà due byte.
Una volta capito quali sono gli indirizzi da modificare, puoi scrivere un nuovo programma per modificare il tuo eseguibile direttamente nel'HDD o caricandolo, modificandolo e risalvandolo.

Per fare questo mentre il tuo eseguibile è in funzione (modifica di se stesso), non ho mai provato.
in programmazione tutto è permesso
23/12 16:19
AldoBaldo
Grazie per aver preso in considerazione quel che ho scritto.

Se non ho capito male la tua risposta, sembrerebbe la stessa tecnica che usano i cosiddetti patcher, giusto?

Ah, comunque sia dal momento che uso dei char credo che i byte occupati per ogni carattere del PIN sia uno, non due. Comunque dovrei riuscire a trovare la sequenza con un qualunque "exe editor".
Ultima modifica effettuata da AldoBaldo 23/12 16:21
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
23/12 19:11
nessuno
Non ho capito a fondo il problema.

Hai un PIN nel tuo codice come stringa e vorresti "nasconderlo"? O vorresti che fosse "variabile"?

Perché non lo memorizzi nel codice come intero binario (che scompare tra i tanti byte dell'eseguibile)?

Perché non ci mostri il codice limitato alla gestione del PIN senza tutto il resto?

P.S. Non ho neanche capito cosa c'entra il discorso del nuovo dispositivo a scuola con il tuo problema ... (l'antivirus?)
Se posso esprimere un mio parere, bisognerebbe anche fare un aggiornamento globale agli insegnanti ...
Ultima modifica effettuata da nessuno 23/12 19:12
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
23/12 20:51
Carlo
Postato originariamente da AldoBaldo:

Ah, comunque sia dal momento che uso dei char credo che i byte occupati per ogni carattere del PIN sia uno, non due.

Quando ho visionato par varie ragioni gli eseguibili, i Char nel file memorizzato sull'HDD vanno ad occupare 2 byte, 1 word. Se il tuo pin è una stringa invece trovi i singoli caratteri byte a byte

Con l'hexeditor individui il seek e il passo da usare, non puoi sbagliare.

HexEditor nel post precedente avevo scritto male, come HxD Hexeditor. mh-nexus.de/en/…#
Attenzione HxD Hexeditor modifica senza ritegno i dati nella memoria, nei files e nell'Hdd, usalo in modalità SOLO LETTURA, finché non ci hai preso mano.

Nel tuo caso devi usare File/Open, Ctrl+O
Ultima modifica effettuata da Carlo 23/12 21:26
in programmazione tutto è permesso
23/12 21:27
AldoBaldo
Ho deciso di aggirare il quesito tecnico che ponevo.

Scrivere sul file eseguibile mentre è in esecuzione non è proprio il caso e, stando a chi mi ha detto la sua, probabilmente neppure possibile. Va bene, esclusa quella scelta.

Modificare l'eseguibile mente non è in esecuzione per sostituire il PIN lì memorizzato è possibile (e l'ho fatto), ma è inutilmente macchinoso in fase di impiego. Abolita anche quella scelta.

Mi resta dunque da scegliere se tenere il PIN in una costante definita direttamente nel codice del programma, ricompilando l'eseguibile qualora volessi modificarlo, oppure utilizzare un file invisibile criptato. In realtà ho già scelto: mi tengo il PIN "incorporato", tanto il programmino è per uso personale e posso farci quel che mi pare nel giro di cinque minuti.

Comunque, vorrei lo stesso rispondere alle tue domande (se hai la pazienza di leggere).


EDIT: chi aveva da leggere ha letto, per cui elimino la parte di testo che seguiva questo punto. Troppi dettagli.
Ultima modifica effettuata da AldoBaldo 23/12 23:23
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
24/12 10:50
Carlo
Ognuno è libero di motivare o meno le domande.
Personalmente preferisco concentrarmi sul problema che voglio risolvere, sviscerandolo dal contesto.

Buon Natale a tutti. :asd::asd:
Ultima modifica effettuata da Carlo 24/12 11:05
in programmazione tutto è permesso
24/12 11:27
AldoBaldo
Grazie Carlo, e grazie anche a Nessuno. Il mio "sconcerto" non era riferito a voi, ma ad altre "entità" che reputo altamente nocive e che appestano la nostra esistenza intervenendo a gamba tesa e con discutibile competenza in aree dalle quali dovrebbero tenersi fuori. Son tutti eroi i generali, finché ad andare al massacro sono i loro sottoposti.

Comunque sia, il programmino fa quel che è nato per fare.
Un piccolo scudo contro un sabotaggio piuttosto pesante, ma meglio di niente.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.