CONSTRUINDO UMANALISADOR DEEXECUTÁVEIS
-
Upload
deyvid-gutheirs -
Category
Documents
-
view
216 -
download
0
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
Q$enteinaria +++Bmente7inariaBcomB7r
Per5untasF