È legale smontare una dll di Microsoft e postare il risultato sul mio blog?

11

Sto scrivendo un articolo per il mio blog sulle funzioni non documentate che esistono in dwmapi.dll biblioteca. Voglio pubblicare il risultato del codice smontato per spiegare come si ottengono i nomi e i parametri di queste funzioni, qualcosa come l'articolo di questo blog. Questo è solo a scopo didattico per mostrare un paio di campioni usando queste funzioni non documentate. Quindi la domanda è: Posso pubblicare il codice smontato di questa libreria sul mio blog?

UPDATE:  Esistono un paio di applicazioni come Aura che usa queste funzioni non documentate (DwmGetColorizationParameters, DwmSetColorizationParameters), ovviamente gli autori in qualche modo hanno smontato dwmapi.dll file per ottenere i parametri e i nomi delle funzioni. Ma loro (gli autori) pubblicano solo il codice sorgente finale per accedere a queste funzioni. Questo mi fa pensare che posso disassemblare in privato una dll di Microsoft e quindi pubblicare un'applicazione o un codice sorgente basato su questa ricerca . È corretto?

    
posta RRUZ 05.05.2011 - 08:24
fonte

6 risposte

13

4. LIMITATIONS ON REVERSE ENGINEERING, DECOMPILATION, AND DISASSEMBLY. You may not reverse engineer, decompile, or disassemble the Software, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.

Direi di no, non è legale.

Modifica per chiarimenti:

In poche parole, pubblicando il disassemblaggio sul tuo blog, (imo) stai giocando con il fuoco. Sono lontano da un esperto legale, ma suppongo che ci siano delle scappatoie legali che gli avvocati di Microsoft potrebbero usare, come la posizione fisica del server del tuo blog provider. Anche se le tue leggi locali potrebbero dire una cosa, se Microsoft ha deciso che ciò che hai pubblicato era abbastanza sensibile (le probabilità in questo caso non sono come la vecchia tecnologia), sono abbastanza certo che la loro raffica di avvocati di prim'ordine potrebbe trovare alcuni modo di perseguirti legalmente. Quindi, semplicemente, metti (di nuovo, imho), i rischi superano di gran lunga i potenziali guadagni.

Detto questo, @David Thornley ha ragione nel suo commento: consulta un avvocato sulle tue leggi locali, in quanto è l'unico modo per assicurarti di essere coperto.

    
risposta data 05.05.2011 - 08:32
fonte
18

Generalmente è consentito se la legge locale esplicitamente lo consente.

Dato che vivi in Cile, è perfettamente legale per te fare reverse engineering. La legge consente espressamente l'interoperabilità e la ricerca e sviluppo. Vedi: link

Artículo 71 Ñ. Las siguientes actividades relativas a programas computacionales están permitidas, sin que se requiera autorización del autor o titular ni pago de remuneración alguna:

b) Las actividades de ingeniería inversa sobre una copia obtenida legalmente de un programa computacional que se realicen con el único propósito de lograr la compatibilidad operativa entre programas computacionales o para fines de investigación y desarrollo. La información así obtenida no podrá utilizarse para producir o comercializar un programa computacional similar que atente contra la presente ley o para cualquier otro acto que infrinja los derechos de autor.

Ora, pubblicando i risultati dello smontaggio sul blog, questa è un'altra cosa. Non sono sicuro della legge cilena, ma ad esempio, secondo la legge europea, puoi eseguire il reverse engineering, ma potresti not pubblicare i risultati. Pubblicare il tuo codice sorgente, che hai creato grazie a ciò che hai scoperto, dovrebbe essere completamente OK.

    
risposta data 05.05.2011 - 14:25
fonte
6

Dipende da dove vivi e cosa dice la legge locale a riguardo. Nel mio paese (Polonia) è legale eseguire lo smontaggio se si intende studiare un'applicazione e rendere la propria applicazione compatibile con quella da smontare. Questo ha la precedenza su tutto ciò che le persone scrivono nelle licenze. Scommetto che altri paesi hanno leggi simili e questo è il motivo per cui in questi giorni la maggior parte delle licenze afferma che lo smontaggio è illegale eccetto dove è permesso dalla legge locale.

    
risposta data 05.05.2011 - 09:25
fonte
2

In realtà, non devi smontare una dll per controllare quali funzioni puoi chiamare. È possibile accedere alle funzioni non documentate anche dall'esterno, senza eseguire lo smontaggio, ad esempio caricare la DLL come riferimento all'interno di Visual Studio e IntelliSense mostrerà quali funzioni sono accessibili.

Solo perché puoi fare questa introspezione anche "smontando" la libreria non significa che è è disassembly (altrimenti tutti gli utenti di Visual Studio violerebbero l'EULA a causa di IntelliSense).

    
risposta data 05.05.2011 - 09:48
fonte
1

Va bene, fino a un certo punto.

Quando Vista venne annunciato per la prima volta e apparentemente sarebbe stato costruito con la nuova tecnologia .NET, che era così meravigliosa che sarebbe stata ovunque, il Dr Richard Grimes (dei libri) pensò che avrebbe decompilato le intestazioni di ogni DLL in Vista per vedere quanti di questi erano .NET dll, solo per curiosità, e pubblicare i risultati sul suo blog .

Naturalmente, nonostante Microsoft abbia detto che tutto era perfetto, solo una dozzina di DLL erano .NET (IIRC), e Microsoft ne ha sentito parlare, ha lanciato un traballante e ha chiesto di prendere tutto e smettere di fare questa indagine (avresti pensavo che avessero qualcosa da nascondere!).

Risultato netto, si è fermato, ma da nessuna parte MS ha citato in giudizio o intrapreso altre azioni legali - tutto ciò che hanno fatto è stato minacciare di rimuovere il suo status di MVP.

Quindi immagino (IANAL) che dipenda da quanto decompilazione fai, pubblicato in tutte le fonti decompilate sarebbe male, ma pubblicando le chiamate di funzione (che non sono le stesse del codice sorgente, come hanno mostrato Oracle v Google) sarebbe ok C'erano un sacco di libri pubblicati con "segreti delle funzioni nascoste di Microsoft" che MS non amava, ma non facevano nulla (tranne dire "questi cambieranno quindi non li useremo").

    
risposta data 22.08.2012 - 12:07
fonte
0

Sulla base dei loro EULA disponibili, è probabilmente illegale. Che sia legale o no in questo caso particolare non sarà deciso in modo definitivo fino a dopo che sei stato citato in giudizio e potenzialmente in bancarotta.

Vuoi veramente rischiare? Stiamo parlando di Microsoft qui. Non evitano il contenzioso anche quando gli imputati hanno un consiglio di milioni di dollari sul fermo.

    
risposta data 06.05.2011 - 19:20
fonte

Leggi altre domande sui tag