Pitanje:
Kako bih trebao pokušati odgonetnuti programski jezik koji je korišten?
asheeshr
2013-03-25 19:41:09 UTC
view on stackexchange narkive permalink

Imam izvršnu datoteku i želio bih shvatiti u kojem je programskom jeziku napisan izvorni kôd. Prvi korak bio bi uporaba disseselera.

Što treba učiniti nakon toga?

Također, pročitao sam da bi određivanje koje se knjižnice koriste tijekom izvođenja bio dobar pokazatelj programskog jezika koji se koristi. Kako bih trebao odrediti koje se knjižnice koriste?

Moguće povezano: [Koji me nagovještaji u strojnom kodu mogu uputiti na kompajler koji je korišten za njegovo generiranje?] (Http://reverseengineering.stackexchange.com/questions/11/what-hints-in-machine-code-can- point-me-to-the-compiler-koji-je-upotrijebljen-za-generacije) i [Što je FLIRT potpis?] (http://reverseengineering.stackexchange.com/questions/175/what-is-a- flert-potpis /)
Što je cilj OF? Stvari se mogu drastično promijeniti iz jednog OS u drugi (a također i alati).
@Emmanuel Ubuntu
Mogli biste upotrijebiti neke druge alate za identifikaciju kompajlera: Kategorija: Identifikatori kompilatora - Biblioteka kolaborativnih RCE alata http://www.woodmann.com/collaborative/tools/index.php/Category:Compiler_Identifiers
Dva odgovori:
#1
+9
cb88
2013-03-25 20:03:31 UTC
view on stackexchange narkive permalink

Zapravo bih vam predložio da izvršnu datoteku pogledate pomoću hex preglednika / urednika. Na taj način možete odmah vidjeti je li kompajler ugradio bilo koji niz kao savjete. Također biste trebali uzeti u obzir da neki jezici koriste C kao srednji jezik. Primjer za to mogao bi biti f2c komplilator Fortran 77 do C. Čini se da f2c također povezuje biblioteku podrške, pa biste to tražili.

Što se tiče utvrđivanja koje se knjižnice koriste na linuxu, možete koristiti ldd naredbu za dinamičke binarne datoteke i nm za statičke za odbacivanje simbola. Također, postoji povezano pitanje o SO-u.

Evo zanimljivog bloga kolege iz RE-a o tome kako binarni datoteka koju imate možda ne dolazi i od kompajlera i kako to prepoznati.

Dobar odgovor, iznenadili biste se koliko često djeluje ovaj niskotehnološki pristup! To na stranu, čak i u slučaju `f2c`, vjerojatno možete vidjeti uzorke mjesta koje pretvarač koristi za predstavljanje Fortranovih koncepata ili pretvorbu iz Fortrana u konvencije C.
#2
+9
Mick
2013-03-25 21:04:27 UTC
view on stackexchange narkive permalink

Postoji nekoliko alata koje sam koristio:

  1. PEiD (PE iDentifier) ​​
  2. Slijedio sam i ovo Vodič i pretvorio PEiD potpise u YARA potpise i jednostavno korišten YARA
  3. TRiD također može pružiti drugi način identificiranja korištenog prevoditelja

Također je vrijedno spomenuti da će, ako datoteku pošaljete Virus Total, pokrenuti TRiD protiv vašeg binarnog datoteke.

Ovi alati nisu uvijek konačan, ali općenito vam mogu dati ispravan kompajler (a time i jezik) koji je korišten.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...