CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

download CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

of 20

Transcript of CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    1/20

    Fernando Mercês

    Vale Security Conference 2011São José dos Campos - SP

    CONST!"N#O !$%N%&"S%#O #'

    '('C!T)V'"S

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    2/20

    * +,oami

    - Consultor de proetos com soft+are li.re na /&inu- ac,arelando em Cincia da Computa3ão- 4oco em infraestrutura e se5uran3a da aplica36es

    - $em7ro ati.o de di.ersas comunidades de soft+are li.re- %89 &P"C-29 $CP9 $C"TP- Palestrante em e.entos como 4"S&9 &inuCon e :2:C- "deali;ador do !ni.ersidade &i.re9 e.ento ria ?,ttp@AA+++Bmente7inariaBcomB7r- Criador do pe. ?analisador de ar

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    3/20

    %5enda

    - O .el- 'studo do formato- pe.- Per5untas

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    4/20

    O

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    5/20

    "nterpreta o formato do eecut>.el paraei7ir informa36es do tipo@

    - 'ntrypoint ?inDcio do pro5rama- %r.el- e

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    6/20

    Como todo arrio 01010101

    #ecimal HE

    :ea EE%S$ HI P!S: 'P

    %SC"" !

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    7/20

    O eecut>.el

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    8/20

    - %lém do cdi5o9 contém informa36espara ser de.idamente eecutado no SOal.oB

    - Pode ser editado como

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    9/20

    'studo doformato

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    10/20

    - usca da disposi3ão dos campos noeecut>.elB

    - #i5amos

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    11/20

    'ntão 7asta .alidar@

    int verify(char *filename)

    {

    FILE *fp = fopen(filename, "rb");char bytes[!;

    frea(bytes, , #, fp);

      fclose(fp);

    if (bytes[%!==&'& bytes[#!==&&)

    retrn #;

    retrn %;

    +

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    12/20

    -K 1I 7ytes a frente da assinatura P'9 est>o c,ecLsum9

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    13/20

    - Para facilitar9 é 7em possD.el prontas para leitura doformatoB

    8* 29FF heaer (trecho a :ino:sh) *8typeef strct 1I'E

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    14/20

    - #epois de ler as estruturas9 o analisadorde.e dar op3ão de mostrar os .alores doscampos para o usu>rioB

    - M possD.el detectar prote36es comopacLers9 crypters etcB

    - 'iste muita informa3ão dentro de um7in>rio eecut>.elB Tudo o

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    15/20

    pe.t,e pe file analy;er

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    16/20

    - Soft+are li.re ?P&.

    - $ultiplataforma ?%NS" C

    - Suporte a P'2AP'28

    - "mprime todos os ca7e3al,os do P'

    - #etecta T&S call7acL9 %S& e #'PAN(

    - 'i7e resources no primeiro nD.el

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    17/20

    pev c psftpe6e29FF heaerG

     'achineG %6#Hc Intel J. an compatible (bits)

     Amber of sectionsG H

     ?ate8time stampG ##KKJH.K# (/n,

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    18/20

    pev rp psftpe6e4esorces (rsrc section)G

     BypeG 4B1I29A

     9ffsetG %6J

     BypeG 4B1493C1I29A

     9ffsetG %6.J

     BypeG 4B1NE4/I9A

     9ffsetG %6J%  Croct NersionG %.%%%

    pev o psftpe6e O hea

    9ptional (CE) heaerG

     'aic nmberG %6#%b (CE)

     Lin-er maPor versionG K Lin-er minor versionG #%

     /iDe of coe sectionG %6M%%%

     /iDe of ata sectionG %6#a%%%

     /iDe of bss sectionG %

     Entry pointG %6J#

     

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    19/20

    TO#OBBB

    - #etec3ão de pacLers- #isassem7ly de se36es- 4ormata3ão de saDda ?CSV9 ($&BBB- 'tra3ão de resources - 'i7ir imports e exports

    - #etec3ão do compilador- #etec3ão do idioma do 7in>rio- CC2- #etec3ão de strin5s inclusi.e (Oeadas

  • 8/17/2019 CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS

    20/20

    ConteGdo@ 4ernando $ercs ?CC B07aseado no paper Construindo umanalisador de eecut>.eisB

    Template@ 4ranL SLi77y Jensen

    ,[email protected]

    Q$enteinaria +++Bmente7inariaBcomB7r

    Per5untasF