Un prieten de-al meu a descărcat un malware de pe Facebook, și am'm curios să văd ce se întâmplă acolo, fără infectarea mine. Știu că ai poate't într-adevăr decompila o .exe, dar cel puțin pot vizualiza în Ansamblu sau atașați un debugger?
Edit sa spun ca nu este un .NET executabil, nici o CLI antet.
Cu un debugger aveți posibilitatea să pas prin programul de asamblare interactiv.
Cu un disassembler, puteți vizualiza programul de asamblare în mai multe detalii.
Cu un decompiler, puteți activa un program parțială în codul sursă, presupunând că știi ce a fost scris în (pe care le puteți afla cu instrumente gratuite, cum ar fi PEiD - în cazul în care programul este ambalat, ai'll trebuie să-l despacheta primul SAU Detecta-it-Easy dacă poți't găsi PEiD oriunde. MOARA are o puternică comunitate de dezvoltatori pe github în prezent).
Unele legate de instrumente care ar putea veni la îndemână în orice ai're face sunt resurse editori, cum ar fi ResourceHacker (gratuit) și un bun editor hex, precum Workshop Hex (comerciale).
În plus, dacă faci malware analiză (sau de a folosi SICE), cred din toată inima sugerez rulează totul în interiorul o mașină virtuală, și anume VMware Workstation. În cazul SICE, acesta va proteja sistemul actual de BSODs, și în caz de malware, acesta va proteja sistemul actual de program de țintă. Puteți citi despre malware analiza cu VMware aici.
Personal, mi-rola cu Olly, WinDbg & W32Dasm, și unele mai mici instrumente de utilitate.
De asemenea, amintiți-vă că dezasamblarea sau chiar depanare alte persoane's software-ul este, de obicei, împotriva EULA în foarte puțin :)
psoul's excelentă de a posta răspunsurile la întrebarea ta deci am castigat't replica lui bine lucrat, dar am simt it'd ajuta pentru a explica de ce acest lucru este perfect valabil, dar, de asemenea, teribil de întrebare prostească. La urma urmei, acesta este un loc pentru a învăța, nu?
Programe de calculator moderne sunt produse printr-o serie de conversii, începând cu intrare de lecturat corpul de instrucțiuni de text (numit "codul sursă") și se încheie cu un program de calculator ușor de citit corpul de instrucțiuni (numit alternativ "binar" sau "masina de cod").
Modul în care un computer se execută un set de instrucțiuni cod mașină este în cele din urmă foarte simplu. Fiecare acțiune pe care un procesor o poate lua (de exemplu, citiți din memorie, se adaugă două valori) este reprezentat printr-un cod numeric. Dacă ți-am spus că numărul 1 a însemnat țipăt și numărul 2 însemnat chicoti, și apoi a avut loc până cărți, fie cu 1 sau 2 pe ele așteaptă să țipi sau chicoti în consecință, mi-ar fi folosind ceea ce este, în esență, același sistem pe un computer utilizează pentru a funcționa.
Un fișier binar este doar un set de aceste coduri (de obicei sun "op coduri") și informații ("argumente") ca op coduri acționa.
Acum, limbaj de asamblare este un limbaj de calculator în cazul în care fiecare comandă cuvânt în limba reprezintă exact un op-codul de pe procesor. Există o legătură directă 1:1 traducere între un limbaj de asamblare comandă și un procesor op-code. Acesta este motivul pentru codificare de asamblare pentru o x386 procesor este diferit de codificare de asamblare pentru un procesor ARM.
Demontarea este pur și simplu acest lucru: un program citește prin binare (în cod mașină), înlocuirea op-coduri cu echivalentul lor în limbaj de asamblare comenzi și ieșiri rezultatul ca un fișier text. L's important să se înțeleagă acest lucru; dacă computerul dvs. poate citi binar, atunci puteți citi binar de asemenea, fie manual, cu un op-codul de masă în mână (ick) sau printr-un disassembler.
Dezintegratoare au unele trucuri noi și de toate, dar's important să înțelegem că un disassembler este în cele din urmă, o căutare și înlocuiți mecanismul. Care este motivul pentru care orice EULA care interzice asta este în cele din urmă suflare cu aer cald. Puteți't la o dată permis de calculator citirea datelor de program și, de asemenea, interzic calculatorului citirea datelor de program.
(Don't mă înțelegeți greșit, nu au fost încercări de a face acest lucru. Acestea funcționează la fel de bine ca DRM de la fișiere cântec.)
Cu toate acestea, există limitări la demontarea de abordare. Nume de variabile sunt inexistente; un astfel de lucru nu't există pentru CPU. Biblioteca de apeluri sunt confuze și adesea necesită demontarea continuare binare. Și de asamblare este greu ca dracu ' pentru a citi în cele mai bune condiții.
Cele mai multe programatori profesioniști pot't să stea și să citească limbajul de asamblare, fără a obține o durere de cap. Pentru un amator it's doar nu o să se întâmple.
Oricum, acest lucru este oarecum glosat peste explicație, dar sper că vă ajută. Toată lumea se poate simți liber pentru a corecta orice inexactități din partea mea; it's fost un timp. ;)
Dacă sunt doar încercarea de a afla ce tip de malware nu, ar fi mult mai ușor pentru a rula în ceva ca instrument gratuit Process Monitor, care va raporta ori de câte ori încearcă să acceseze sistemul de fișiere, registry, porturi, etc...
De asemenea, folosind o mașină virtuală, cum ar fi liber VMWare server este foarte util pentru acest tip de muncă. Puteți face o "curat" imagine, și apoi du-te înapoi pentru că de fiecare dată când executați malware.
Ceea ce vrei este un tip de software-ul numit-o "Disassembler".
Google rapid randamentele asta: http://www.geocities.com/~sangcho/disasm.html
S-ar putea obține unele informații de vizualizare în ansamblu, dar cred că cel mai simplu lucru pe care să faceți este să porniți o mașină virtuală și să vedem ce face. Asigurați-vă că nu au deschis acțiuni sau ceva de genul asta care se poate sari prin, deși ;)
Pot't cred că nimeni nu a spus nimic despre Imunitate Debugger, totuși.
Imunitatea Debugger este un instrument puternic pentru a scrie exploateaza, analiza malware, și a inversa inginer fișiere binare. Acesta a fost bazat inițial pe Ollydbg 1.0 cod sursă, dar cu nume resoution bug fix. A sprijinit Python API pentru ușor de extensibilitate, astfel încât să puteți scrie script python pentru a ajuta la analiza.
De asemenea, nu's unul bun Petru din Corelan scris echipa numit mona.py, excelent instrument btw.
Dacă nu aveți timp, să prezinte malware pentru a cwsandbox:
http://jon.oberheide.org/blog/2008/01/15/detecting-and-evading-cwsandbox/
HTH
Am'd spune în 2019, Ghidra (https://ghidra-sre.org/) este în valoare de verificat. L's open-source (gratuit), și are fenomenal cod capacități de analiză, inclusiv capacitatea de a decompila tot drumul înapoi la destul de ușor de citit C cod.
De explorer suite poți să faci ce vrei.