
nessuno (Normal User)
Guru^2
    
Messaggi: 6318
Iscritto: 03/01/2010
|
No ... intendevo che non c'è molto altro da sapere ... se non come leggere il file e trovare dei dati all'interno di quello che hai letto ...
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à. |
|

Nullable (Normal User)
Expert
    
Messaggi: 217
Iscritto: 12/07/2011
|
Postato originariamente da nessuno:
No ... intendevo che non c'è molto altro da sapere ... se non come leggere il file e trovare dei dati all'interno di quello che hai letto ... |
Quindi dovrebbe bastare la conoscenza sulla classe BinaryReader ? |
|

nessuno (Normal User)
Guru^2
    
Messaggi: 6318
Iscritto: 03/01/2010
|
Ma sì ... più o meno ...
Comincia a scrivere e vedi cosa ti serve che non sai ...
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à. |
|

Nullable (Normal User)
Expert
    
Messaggi: 217
Iscritto: 12/07/2011
|
Postato originariamente da nessuno:
Ma sì ... più o meno ...
Comincia a scrivere e vedi cosa ti serve che non sai ... |
Il codice che ho scritto è questo :
Codice sorgente - presumibilmente Altri Linguaggi |
string path = @"C:\prova.exe";
FileStream fStream = new FileStream(path, FileMode.Open);
BinaryReader bReader = new BinaryReader(fStream);
Console.WriteLine(bReader.ReadString());
Console.Read();
|
Ultima modifica effettuata da Nullable il 20/07/2011 alle 17:36 |
|

HeDo (Founder Member)
Guru^2
    
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da Nullable:
*** |
a me queste cose fanno aprire dalle risate! |
|

Nullable (Normal User)
Expert
    
Messaggi: 217
Iscritto: 12/07/2011
|
Postato originariamente da HeDo:
Postato originariamente da Nullable:
*** |
a me queste cose fanno aprire dalle risate! |
Come scusa ? |
|

HeDo (Founder Member)
Guru^2
    
Messaggi: 2765
Iscritto: 21/09/2007
|
Postato originariamente da Nullable:
Come scusa ? |
Ti stai incaponendo su un genere di programma per cui non esistono cose ben precise da studiare o da imparare. Non puoi fare come stai facendo tu, o almeno, _non solo_. Non sono programmi da chiedere su un forum, non ci sono guide per realizzarli.
La detection del linguaggio con cui è stato realizzato un programma può essere al contempo semplice e difficile, l'analisi spesso si basa su euristiche moderatamente complesse.
Se poi vogliamo mettere i puntini sulle I, in realtà tu non fai la detection del tipo di linguaggio, ma del compilatore. Io posso tranquillamente programmare in C++ e compilare sia con mingw sia con VS10, gli output binari saranno diversi (molto!).
Come se non bastasse ogni compilatore ha un numero decisamente alto di opzioni di compilazione che possono invalidare molti metodi di detection.
D'altra parte ci sarebbe il "problema" dei packer, non è detto che tutto sia sempre in chiaro! Esistono infinite tecniche di offuscamento in grado di confondere il più sofisticato decompilatore, figurati quanto ci vuole a far fallire una detection.
Inoltre io posso (paradossalmente!) hostare il .NET framework in un eseguibile compilato in C++ che tira su un servizio WCF e inizia ad interagire con un database tramite Entity Framework... a quel punto te che cosa detecti? I cavoli a merenda!
Il tipo di programma che vuoi realizzare spesso è una feature di programmi di decompilazione più sofisticati come IDA, nessuno si mette a farlo standalone semplicemente perchè senza una solida base di decompilazione del binario non riesci a farti una vaga idea di cosa c'è dentro l'eseguibile.
Prima di avventurarti in un'impresa del genere ti consiglio di leggerti almeno un paio di volumi sul reverse engineering, architetture dei compilatori e struttura dei file eseguibili, poi ne possiamo riparlare.
Mi dispiace fare sempre il guastafeste ma concludo sempre i post lunghi con la stessa frase.
Per ora lascia perdere.
|
|

Nullable (Normal User)
Expert
    
Messaggi: 217
Iscritto: 12/07/2011
|
Postato originariamente da HeDo:
Postato originariamente da Nullable:
Come scusa ? |
Ti stai incaponendo su un genere di programma per cui non esistono cose ben precise da studiare o da imparare. Non puoi fare come stai facendo tu, o almeno, _non solo_. Non sono programmi da chiedere su un forum, non ci sono guide per realizzarli.
La detection del linguaggio con cui è stato realizzato un programma può essere al contempo semplice e difficile, l'analisi spesso si basa su euristiche moderatamente complesse.
Se poi vogliamo mettere i puntini sulle I, in realtà tu non fai la detection del tipo di linguaggio, ma del compilatore. Io posso tranquillamente programmare in C++ e compilare sia con mingw sia con VS10, gli output binari saranno diversi (molto!).
Come se non bastasse ogni compilatore ha un numero decisamente alto di opzioni di compilazione che possono invalidare molti metodi di detection.
D'altra parte ci sarebbe il "problema" dei packer, non è detto che tutto sia sempre in chiaro! Esistono infinite tecniche di offuscamento in grado di confondere il più sofisticato decompilatore, figurati quanto ci vuole a far fallire una detection.
Inoltre io posso (paradossalmente!) hostare il .NET framework in un eseguibile compilato in C++ che tira su un servizio WCF e inizia ad interagire con un database tramite Entity Framework... a quel punto te che cosa detecti? I cavoli a merenda!
Il tipo di programma che vuoi realizzare spesso è una feature di programmi di decompilazione più sofisticati come IDA, nessuno si mette a farlo standalone semplicemente perchè senza una solida base di decompilazione del binario non riesci a farti una vaga idea di cosa c'è dentro l'eseguibile.
Prima di avventurarti in un'impresa del genere ti consiglio di leggerti almeno un paio di volumi sul reverse engineering, architetture dei compilatori e struttura dei file eseguibili, poi ne possiamo riparlare.
Mi dispiace fare sempre il guastafeste ma concludo sempre i post lunghi con la stessa frase.
Per ora lascia perdere.
|
Ti ringrazio per i chiarimenti che hai scritto, io volevo proprio sapere cosa sta dietro l'identificazione del sorgente di un software e da quello che hai scritto tu ho capito che è molto difficile in quando il compilatore non è universale per tutti i software. Volevo solo sapere cosa c'era dietro tutto ciò e ho capito che le mie attuali conoscenze non soddisfano la creazione di un simile software.
Grazie ^^ |
|