come aprire un file .dll

Rosssiiii

Digital-Forum Senior Master
Registrato
19 Gennaio 2010
Messaggi
1.871
Ciao :)

Vorrei chiedervi come posso aprire un file .dll ?

ho provato ad usare resource_hacker ma con questo riesco ad aprire solo alcuni file, mentre altri non riesco ad aprirli.

ho provato ad installare su macchina virtuale Visual Studio, tuttavia è molto grande come programma e vorrei chiedervi quale di questi pacchetti devo installare per poter riuscire ad aprire un file .dll ?

https://i.imgur.com/zDNfVOZ.png
 
I file .dll se sono di Windows e programmi credo che sia meglio non toccarli e non cancellarli.
Mi ricordo che anni fa ci giocavo con questi file aprendoli ad esempio facendo tasto destro sul file > apri con > blocco note e si vedeva una cosa del genere: https://s9.postimg.cc/5sg4xkjr3/Cattura.jpg
 
i file dll vanno considerati come i file .exe ovvero file compilati per linguaggio macchina. Non sono altro che funzioni, sempre in linguaggio macchina, usate da programmi (.exe) diversi, infatti possono essere condivise da molti programmi, si usano per non avere file .exe pesantissimi in modo da avere un eseguibile leggero che occupa poca memoria e, quando serve, carica la .dll in memoria e ne usa le funzioni.
La domanda come aprirlo fa venire in mente perchè aprirlo! I programmi migliori per lavorare con questi tipi di file sono gli editor esadecimali che fanno vedere i bit come realmente sono e non come vengono interpretati dai vari programmi.
Se sei giovane, curioso, capace, hai tempo libero, ecc. puoi vedere come lavorano tramite un debugger ma devi studiare molto prima
 
I file .dll se sono di Windows e programmi credo che sia meglio non toccarli e non cancellarli.
Mi ricordo che anni fa ci giocavo con questi file aprendoli ad esempio facendo tasto destro sul file > apri con > blocco note e si vedeva una cosa del genere: https://s9.postimg.cc/5sg4xkjr3/Cattura.jpg

si ma da li non puoi fare delle modifiche, ho fatto delle copie dei file .dll che sto cercando di modificare proprio per evitare casini.
 
Come detto sopra devi usare un editor esadecimale
Mi ricordo che, quando avevo voglia di sperimentare e divertirmi, con un editor esadecimale ci aprivo i file di testo, Word, e se mi ricordo bene ci si poteva trovare elementi normalmente invisibili, note, tag, residui di precedenti testi in teoria cancellati...
 
anche se lo apri, il file dll é codificato e quindi inutilizzabile, devi usare un processo di reverse engineering per arrivare a leggere il codice e quindi le funzioni in esso contenute. una volta che ci sei riuscito ti troverai di fronte ad una massa di scritte senza senso perché offuscate all'origine, quindi:

a(X){/*/X=- a(X){/*/X=-
-1;F;X=- -1;F;X=-
-1;F;}/*/ -1;F;}/*/
char*z[]={"char*z[]={","a(X){/*/X=-","-1;F;X=-","-1;F;}/*/","9999999999 :-| ",
"int q,i,j,k,X,O=0,H;S(x)int*x;{X+=X;O+=O;*x+1?*x+2||X++:O++;*x=1;}L(n){for(*",
"z[i=1]=n+97;i<4;i++)M(256),s(i),M(128),s(i),M(64),N;X*=8;O*=8;}s(R){char*r=z",
"[R];for(q&&Q;*r;)P(*r++);q&&(Q,P(44));}M(m){P(9);i-2||P(X&m?88:O&m?48:32);P(",
"9);}y(A){for(j=8;j;)~A&w[--j]||(q=0);}e(W,Z){for(i-=i*q;i<9&&q;)y(W|(1<<i++&",
"~Z));}R(){for(k=J[*J-48]-40;k;)e(w[k--],X|O);}main(u,v)char**v;{a(q=1);b(1);",
"c(1);*J=--u?O?*J:*v[1]:53;X|=u<<57-*v;y(X);K=40+q;q?e(O,X),q&&(K='|'),e(X",
",O),R(),O|=1<<--i:J[*J-48+(X=O=0)]--;L(q=0);for(s(i=0);q=i<12;)s(i++),i>4&&N",
";s(q=12);P(48);P('}');P(59);N;q=0;L(1);for(i=5;i<13;)s(i++),N;L(2);}",0};
b(X){/*/X=- b(X){/*/X=-
-1;F;X=- -1;F;X=-
-1;F;}/*/ -1;F;}/*/
int q,i,j,k,X,O=0,H;S(x)int*x;{X+=X;O+=O;*x+1?*x+2||X++:O++;*x=1;}L(n){for(*
z[i=1]=n+97;i<4;i++)M(256),s(i),M(128),s(i),M(64),N;X*=8;O*=8;}s(R){char*r=z
[R];for(q&&Q;*r;)P(*r++);q&&(Q,P(44));}M(m){P(9);i-2||P(X&m?88:O&m?48:32);P(
9);}y(A){for(j=8;j;)~A&w[--j]||(q=0);}e(W,Z){for(i-=i*q;i<9&&q;)y(W|(1<<i++&
~Z));}R(){for(k=J[*J-48]-40;k;)e(w[k--],X|O);}main(u,v)char**v;{a(q=1);b(1);
c(1);*J=--u?O?*J:*v[1]:53;X|=u<<57-*v;y(X);K=40+q;q?e(O,X),q&&(K='|'),e(X
,O),R(),O|=1<<--i:J[*J-48+(X=O=0)]--;L(q=0);for(s(i=0);q=i<12;)s(i++),i>4&&N
;s(q=12);P(48);P('}');P(59);N;q=0;L(1);for(i=5;i<13;)s(i++),N;L(2);}
c(X){/*/X=- c(X){/*/X=-
-1;F;X=- -1;F;X=-
-1;F;}/*/ -1;F;}/*/

é assolutamente illeggibile e senza senso per ogni singolo essere umano sulla terra, ma é perfettamente interpretabile da un compilatore.

ora la domanda é perché vorresti modificare una dll con il rischio di bloccare l'intero computer semplicemente cambiando un indice di memoria?

ad ogni modo se proprio ti vuoi divertire :) notepad++ e poi "apri con" e vedi il contenuto di una dll. peró come detto é tutto criptato, quindi inutile. se invece "importi" e non apri una DLL con visual studio come stai provando a fare vedrai solo le firme delle funzioni pubbliche che l'autore ha deciso di pubblicare, e naturalmente le puoi usare chiamando queste funzioni a tuo piacimento, ma anche li non hai diritti per modificare nulla.
 
Indietro
Alto Basso