Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Postato originariamente da Carlo:
Fai una prova potrebbero essere invertiti: 45 FE 28 7A |
Ho fatto una prova
Const a As Int32 = &HFE457A28
nell'eseguibile viene rappresentata: 28 7A 45 FE
in programmazione tutto è permesso |
|
Goblin (Member)
Expert
Messaggi: 375
Iscritto: 02/02/2011
|
Ibis redibis non morieris in bello |
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Postato originariamente da Goblin:
Si la logica è proprio quella che hai descritto
Codice sorgente - presumibilmente Plain Text |
CS_AA1 = '50'; // P
CS_AA2 = '63'; // c
CS_AA3 = '28'; // (
CS_AA4 = '3f'; // ?
CS_AA5 = 'f9'; // ù
CS_AA6 = 'a3'; // £
// poi quando serve
CS_AA1 + CS_AA2 + CS_AA3 + CS_AA4 + CS_AA5 + CS_AA6
|
|
le costanti come sono dichiarate Byte?
in programmazione tutto è permesso |
|
Goblin (Member)
Expert
Messaggi: 375
Iscritto: 02/02/2011
|
Postato originariamente da Carlo:
Postato originariamente da Goblin:
Si la logica è proprio quella che hai descritto
Codice sorgente - presumibilmente Plain Text |
CS_AA1 = '50'; // P
CS_AA2 = '63'; // c
CS_AA3 = '28'; // (
CS_AA4 = '3f'; // ?
CS_AA5 = 'f9'; // ù
CS_AA6 = 'a3'; // £
// poi quando serve
CS_AA1 + CS_AA2 + CS_AA3 + CS_AA4 + CS_AA5 + CS_AA6
|
|
le costanti come sono dichiarate Byte? |
No in questo caso sono stringhe
Ibis redibis non morieris in bello |
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Postato originariamente da Goblin:
No in questo caso sono stringhe
|
Ti ho fatto una domanda stupida dato che nell'assegnazione ci sono gli apici.
Se sono stringhe non devi cercare gli esadecimali ma i corrispondenti codici ASCII
per esempio di: CS_AA1 = '50'; // P
devi cercare il codici di 5 e 0 = $35 $30
Con costanti così corte, nell'eseguibile troverai troppe corrispondenze per capirci qualcosa.
Però puoi perseguire questa strada; compili due eseguibili identici in tutto meno che in una costante es:
eseguibile 1: CS_AA1 = '50';
eseguibile 2: CS_AA1 = '51';
tutto il resto deve essere uguale, poi con un Hex compare, trovi dov'è la differenza Ultima modifica effettuata da Carlo il 26/04/2020 alle 13:55
in programmazione tutto è permesso |
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
Per fare questi lavoretti ci sono dei programmi dedicati molto potenti
If ok Then GOTO Avanza else GOTO Inizia
|
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
Postato originariamente da Ultimo:
Per fare questi lavoretti ci sono dei programmi dedicati molto potenti |
Una volta mi sono divertito a sbloccare un programmino
solo per divertimento personale
If ok Then GOTO Avanza else GOTO Inizia
|
|
Goblin (Member)
Expert
Messaggi: 375
Iscritto: 02/02/2011
|
Postato originariamente da Carlo:
Postato originariamente da Goblin:
No in questo caso sono stringhe
|
Ti ho fatto una domanda stupida dato che nell'assegnazione ci sono gli apici.
Se sono stringhe non devi cercare gli esadecimali ma i corrispondenti codici ASCII
per esempio di: CS_AA1 = '50'; // P
devi cercare il codici di 5 e 0 = $35 $30
Con costanti così corte, nell'eseguibile troverai troppe corrispondenze per capirci qualcosa.
Però puoi perseguire questa strada; compili due eseguibili identici in tutto meno che in una costante es:
eseguibile 1: CS_AA1 = '50';
eseguibile 2: CS_AA1 = '51';
tutto il resto deve essere uguale, poi con un Hex compare, trovi dov'è la differenza |
Si potrei provare a compilare 2 .exe e fare il giochino "trova le differenze", ma il mio punto di partenza è un po' diverso, ossia visto il file.exe da un esterno è possibile risalire alla chiave formata da delle costanti dichiarate separate e poi unite.
Per unirle faccio una cosa abbastanza semplice e terra terra
Codice sorgente - presumibilmente Tutto e di + |
...
a := StrToInt('$' + CS_AA1); // trasformo la costante in intero
b := chr(a); // prendo il codice ascii
s := s + b; // lo accodo
...
|
faccio una "select" su una tabella leggendo un campo crittografato ed applicando la chiave lo rendo "intelligibile"
Ovviamente è una "protezione" per gente scarsa come me, ma abbastanza valida (credo) per lo smanettone che vuol vedere i campi "crittografati" nel "DB",
Ibis redibis non morieris in bello |
|