decompila una DLL che non è .NET

-1

Ho trovato un file DLL sospetto che originariamente è stato creato da Adobe Photoshop (la licenza sembra legittima). Voglio controllare se la DLL contiene codice dannoso che verrebbe eseguito in fase di runtime. Quello che già so:

  • Ho aperto la DLL in dotPeek. DotPeek non supportava il file. Questo è la ragione per cui penso che non sia .NET

  • HolettochedecompilareunfileDLLèdifficilesesiottienesolocodicebinario/esadecimale.Perquestomotivomichiedosesiaaddiritturapossibileaggiungere/modificareilcodiceina,nondall'hackercreato,DLL.

  • HocontrollatolaDLLconstrumentidianalisideivirusonlineelacontrassegnavoperlamaggiorpartecomesicura: Scansione VirusTotal e Scansione analisi ibrida

Come posso verificare se questo file DLL è salvato e non contiene codice dannoso?

    
posta Nightscape 02.10.2018 - 21:25
fonte

1 risposta

-1

Per i binari del codice nativo, il reverse engineering è difficile (ma non impossibile). IDA (Interactive DisAssembler) è lo strumento più popolare per il disassemblaggio dei binari nativi in qualcosa che è approssimativamente comprensibile all'uomo, anche se non è ancora banale da usare correttamente e potrebbe richiedere del tempo per diventare abile. Lo sviluppatore pubblica anche un decompilatore , che tenta di trasformare il codice binario in qualcosa che assomiglia al codice sorgente C . Entrambi sono programmi commerciali (e costosi), sebbene sia possibile ottenere una versione di valutazione di IDA.

Nota che anche se avessi il codice sorgente originale (che nessuno strumento può darti), a meno che tu non sia estremamente abile nell'analisi del codice sorgente, non è garantito che tu sia in grado di determinare se la libreria è malevola o meno. Il Concorso Internazionale del codice C offuscato e in particolare il Concorso C sottoterra sono archivi di esempi che mostrano quanto sia difficile dire cosa sta facendo un programma / libreria C e quanto è sicuro. Questo non vuol dire che sia inutile da provare, ma è tutt'altro che garantito che avresti avuto successo (e non hai comunque la fonte di questo binario).

Non c'è un modo pratico per dire, certo, che un binario non è malevolo.

Il malware moderno è spesso pesantemente offuscato (a mano e / o con un'utilità), sia per scoraggiare il reverse-engineering sia per cercare di aggirare i controlli antivirus. Tuttavia, non tutto questo codice offuscato è malizioso; cose come il controllo delle licenze e le librerie di enfasi DRM sono generalmente molto offuscate, così come tutti i binari che contengono algoritmi proprietari altamente sensibili che lo sviluppatore / editore sta cercando di mantenere segreti.

L'esecuzione del file binario tramite VirusTotal è una buona idea, ma tutto ciò che è in grado di dirti è che "qualsiasi software antivirus potrebbe rilevare questo come dannoso?" e non sono abbastanza informazioni Gli scanner antivirus possono produrre sia falsi positivi (segnalazione di software sicuro come dannosi) e falsi negativi (non riuscendo a riconoscere software dannoso), e gli sviluppatori di malware sono ben consapevoli della necessità di evitare il rilevamento da parte di software antivirus.

Un'altra cosa da considerare è quanto sia affidabile la fonte del file. Adobe è noto per i software buggy (ad esempio Photoshop) e / o insicuri (ad esempio Flashplayer), ma per quanto ne so non ha mai rilasciato nulla che risponda alla definizione convenzionale di "malevolo" (alcune persone considerano tutti i DRM malevoli, ma mentre Vedo il loro punto, penso che stiano diluendo il termine e non considerano il DRM come malizioso a meno che non impatti diversamente dal software stesso, ad esempio i rootkit Sony BMG). Se il file ha una firma digitale valida di Adobe (o di qualsiasi altro sviluppatore ragionevolmente affidabile), le probabilità che sia dannoso sono molto inferiori. Se la firma è mancante, non valida o creata da una terza parte che non riconosci (controlla molto attentamente che il firmatario è chi pensi che sia, non qualcun altro con un nome simile ), quindi è un motivo per essere sospettosi, specialmente nell'ultimo caso (nome simile a quello che cerca di passare a se stesso come qualcun altro).

    
risposta data 02.10.2018 - 22:33
fonte

Leggi altre domande sui tag