[so2] [windows][Tema1] struct log_packet si logare

Vlad Dogaru ddvlad at herebedragons.ro
Fri Mar 15 19:09:12 EET 2013


On Fri, Mar 15, 2013 at 06:47:10PM +0200, Mihail Costea wrote:
> Si la ce ma ajuta ErrorCode? Trebuie sa pun ret care deja e in log_packet?

Pune ErrorCode pe 0.  Ăsta e interpretat de Windows.

syscall_ret e ce a întors syscall-ul.  Ăsta e interpretat de checker.

> Iar pentru log_packet ce fac cu syscall_arg_no / syscall_arg[0]?

syscall_arg_no e numărul de argumente ale apelului de sistem.  E
variabila 'param_size' de la [2], împărțită la sizeof (int).

syscall_arg sunt argumentele apelului de sistem.  Știi dimensiunea lor
în octeți (param_size), deci poți să le copiezi țărănește de pe stivă.
E suficient un
	memcpy(&log_pkt->syscall_arg, old_stack, param_size);

These [3] [4] might also help.

[2] http://ocw.cs.pub.ro/courses/so2/teme/tema1#schita_pentru_interceptarea_apelurilor_de_sistem_in_windows
[3] http://article.gmane.org/gmane.education.region.romania.operating-systems-design/685
[4] http://article.gmane.org/gmane.education.region.romania.operating-systems-design/4012

Vlad

PS: Please don't top post.  Scrie răspunsul sub bucățile relevante din
mailul precedent.  Thanks!

> Cum obtin aceste lucruri?
> Din std pot optine doar numarul de biti ocupati de argumente.
> 
> Mihail
> 
> 2013/3/15 Alexandru Juncu <alexj at rosedu.org>:
> > 2013/3/14 Mihail Costea <mihail.costea90 at gmail.com>:
> >> Cum folosim logarea pe windows? Am gasit niste exemple pe net cu
> >> IoWriteErrorLogEntry dar sunt asa dubioase si ne intuitive incat m-am
> >> lasat pagubas repede.
> >
> >
> > Try this [1]. Câmpurile importante sunt DumpData, DumpDataSize și ErrorCode.
> >
> > [1] http://msdn.microsoft.com/en-us/library/windows/hardware/ff550571%28v=vs.85%29.aspx
> > _______________________________________________
> > http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii
> 
> 
> 
> -- 
> Mihail Costea
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii


More information about the so2 mailing list