ELF101 a Linux executable walkthrough

1
/p // // // // // // // // // // /g // // // /g ffffffffffffffff T/ // // // T/ // // // /i // // // // // // // ffffffffffffffff m\ vi vR vz /p /p /p // // // // // // // // // u'\ffffffffffff /_ // /y // /p // // // z/ // // /g v/ // // // ffffffff`fffSfff R/ // // // // // // // yv // _/ // /p // _g // Àfffffffvfffffºf /v // /y // // // // // // // // // // // // // ffffffffffffffff /p // // // // // // // // // // /g // // // /g ffffffffffffffff T/ // // // T/ // // // /i // // // // // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // /V // // // /p // // // ffffffffffffffff /z // // // z/ // // /g z/ // // // __ // // // ffff`fff`fffdfff // // // // // // // // // // // // // // // // ffffffffffffffff pp // // // /p // // // /_ // // // c/ // // /g ffffffffffffffff c/ // // // /N // // // // // // // // // // // ffffffffffffffff // // // // // // // // /p // // // /y // // // ffffffffffffffff // // // // // // // // T/ // // // pc // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // _u my zg my mv m_ mv zp z_ // _u mv zi mg mv ffshstrtabfftext // _u m_ z\ zv zp mv zp // // // // // // // // ffrodataffffffff vg zi zR zR z\ _/ im z\ m_ zR zv _p /T // // // XellofWorldoffff m\ vi vR vz /p /p /p // // // // // // // // // u'\ffffffffffff /_ // /y // /p // // // z/ // // /g v/ // // // ffffffff`fffSfff R/ // // // // // // // yv // _/ // /p // _g // Àfffffffvfffffºf /v // /y // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // /V // // // /p // // // ffffffffffffffff /z // // // z/ // // /g z/ // // // __ // // // ffff`fff`fffdfff // // // // // // // // // // // // // // // // ffffffffffffffff pp // // // /p // // // /_ // // // c/ // // /g ffffffffffff fff c/ // // // /N // // // // // // // // // // // fffffffffffffff // // // // // // // // /p // // // /y // // // ffffffffffffffff // // // // // // // // T/ // // // pc // // // ffffffff fffffff // // // // // // // // // // // // // // // // ffffffffffffffff Vc c/ // // /g VT /N // // // VV /p // // // Vg ¹f fffºffff»ffff¸ /v // // // RN g/ VV /p // // // Vg /p // // // ffffÍ€»ffff¸ffff RN g/ // // // // // // // // // // // // // // Í€ffffffffffffff vg zi zR zR z\ _/ im z\ m_ zR zv _p /T // // // XellofWorldoffff // _u my zg my mv m_ mv zp z_ // _u mv zi mg mv ffshstrtabfftext // _u m_ z\ zv zp mv zp // // // // // // // // ffrodataffffffff m\ vi vR vz /p /p /p // // // // // // // // // u'\ffffffffffff /_ // /y // /p // // // z/ // // /g v/ // // // ffffffff`fffSfff R/ // // // // // // // yv // _/ // /p // _g // Àfffffffvfffffºf /v // /y // // // // // // // // // // // // // ffffffffffffffff /p // // // // // // // // // // /g // // // /g ffffffffffffffff i/ // // // i/ // // // /i // // // // // // // ffffffffffffffff Vc c/ // // /g VT /N // // // VV /p // // // Vg ¹f fffºffff»ffff¸ /v // // // RN g/ VV /p // // // Vg /p // // // ffffÍ€»ffff¸ffff RN g/ // // // // // // // // // // // // // // Í€ffffffffffffff vg zi zR zR z\ _/ im z\ m_ zR zv _p /T // // // XellofWorldoffff // _u my zg my mv m_ mv zp z_ // _u mv zi mg mv ffshstrtabfftext // _u m_ z\ zv zp mv zp // // // // // // // // ffrodataffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // /V // // // /p // // // ffffffffffffffff /z // // // z/ // // /g z/ // // // __ // // // ffff`fff`fffdfff // // // // // // // // // // // // // // // // ffffffffffffffff pp // // // /p // // // /_ // // // c/ // // /g ffffffffffff fff c/ // // // /N // // // // // // // // // // // fffffffffffffff // // // // // // // // /p // // // /y // // // ffffffffffffffff // // // // // // // // T/ // // // pc // // // ffffffff fffffff // // // // // // // // // // // // // // // // ffffffffffffffff Vc c/ // // /g VT /N // // // VV /p // // // Vg ¹f fffºffff»ffff¸ /v // // // RN g/ VV /p // // // Vg /p // // // ffffÍ€»ffff¸ffff RN g/ // // // // // // // // // // // // // // Í€ffffffffffffff Sections1 names &ode executable information Program Header table Rxecution information technical details for identification and execution Header Linking 0connecting program objects. information Section Header table sections contents of the executable information used by the code zata RLY header identify as an RLY type specify the architecture x-9 assembly Rquivalent & code RLY inkable ormat wTw w the RLY header is parsed the Program Header is parsed 0Sections are not used. version wIT UTwNVwwVUT 7nge 7lbertini corkamiIcom Hexadecimal dump 7S&II dump Yields Values Rxplanation Offset,/xR/ Section Header table Offset,/xc/:Tddress,/xg////c/ Offset,/xz/:Tddress,/xg////z/ a Linux executable walkthrough Offset,/xv/:Tddress,/xg////v/ header The RLY was first specified by UISI LI for UNIX System V/ in w**T The RLY is used/ among others/ inB A Linux/ 7ndroid/ 25Sz/ Solaris/ 5eOS A PSP/ Playstation UAX/ zreamcast/ Zame&ube/ Wii A various OSes made by Samsung/ Rricsson/ Nokia/ A Microcontrollers from 7tmel/ Texas Instruments simpleIelf download @ elfwTwIcorkamiIcom SH7AwB 9:U,*9-:b-:b:X*bwNfd,*bTNXXa,-*TebcadcNb This is the whole file/ however/ most RLY files contain many more elementsI Rxplanations are simplified/ for concisenessI xecutable technical details for linking 0ignored for execution. header v p_type p_offset p_vaddr p_paddr p_filesz p_memsz p_flags mov ecx/xg///c/ mov edx/xN mov ebxp mov eaxv int /xg/ mov ebxp mov eaxp int /xg/ exitb1A; m\ vi vR vz /p /p /p // // // // // // // // // fu'\ffffffffffff /_ // /y // /p // // // z/ // // /g v/ // // // ffffffff`fffSfff R/ // // // // // // // yv // _/ // /p // _g // Ífffffffvfffffºf /v // /y // ffff /p // // // // // // // // // // /g // // // /g ffffffffffffffff T/ // // // T/ // // // /i // // //ffff ffffffff e_ident uP_MTU uP_R'TSS€ uP_NTTT uP_VuRSPON e_type e_machine e_version e_entry e_phoff e_shoff e_ehsize e_phentsize e_phnum e_shentsize e_shnum e_shstrndx dXello Worldo\rd€ / Vc c/ // // /g VT /N // // // VV /p // // // Vgffffffffffffffff /v // // // RN g/ VV /p // // // Vg /p // // // ffffffffffffffff RN g/ ff vg zi zR zR z\ _/ im z\ m_ zR zv _p /T // XellofWorldoff constant signature NU bits/ LittleARndian 7lways w Rxecutable Intel N-9 0and later. 7lways w 7ddress where execution starts Program Headers1 offset Section Headers1 offset Rlf header1s size Size of a single Program Header &ount of Program Headers Size of a single Section Header &ount of Section Headers Index of the names1 section in the table The segment should be loaded in memory Offset where it should be read Virtual address where it should be loaded Physical address where it should be loaded Size on file Size in memory Readable and eXecutable p_vaddr Virtual Address 0x00 Offset 0x8000000 LOAD Segment writeb2Hello World8\r2, STDOUT, lenb2Hello World8\r2AA; Strings 0x80000A0 zissected file Loading process Trivia /xm\€ du'\d p €p p _ y p /xg////z/ /xv/ /xR/ /xyv /x_/ p /x_g v y p / /xg////// /xg////// /xT/ /xT/ i u'\NTTT_'SV u'\R'TSSy_ // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff // // // // // // // // /V // // // /p // // // ffffffffffffffff /z // // // z/ // // /g z/ // // // __ // // // ffff`fff`fffdfff // // // // // // // // // // // // // // // // ffffffffffffffff pp // // // /p // // // /_ // // // c/ // // /g ffffffffffffffff c/ // // // /N // // // // // // // // // // // ffffffffffffffff // // // // // // // // /p // // // /y // // // ffffffffffffffff // // // // // // // // T/ // // // pc // // // ffffffffffffffff // // // // // // // // // // // // // // // // ffffffffffffffff dd fshrtrtab ftext frodata // _u my zg my mv m_ mv zp z_ // _u mv zi mg mv ffshstrtabfftext // _u m_ z\ zv zp mv zp // ffrodataf Section names Offset,/xT/ p _ y v m z i g ///, /v/, /z/, /c/, /a/, /T/, return code msg MSU_'uN STNOUT SR_WRPTu SR_uXPT system call system call uV_RURRuNT uT_uXuR uM_ygz uV_RURRuNT PT_'OTN P\_R|P\_X p_memsz U the file is mapped in memory according to its segment0s. Mapping N Rntry is called Syscalls are accessed viaB A Syscall number in the R7X register A calling Interrupt Tx-T Rxecution N kernel services Index Name TYPR YL7ZS 7zzRRSS OYYSRT SIZR 0 <null> 0 1 .text 1 6 0x8000060 0x60 0x22 2 .rodata 1 2 0x8000090 0x90 0x0D 3 .shrtrtab 3 0xA0 0x19 SXT_PROUVPTS ºprogram» SXT_NU'' ºinactive» SXT_PROUVPTS ºprogram» SXT_STRTTV ºstring table» SX\_T''OR ºallocated» SX\_uXuRPNSTR ºexecutable» SX\_T''OR ºallocated» relative offsets in names¹ section sh_type sh_flags sh_addr sh_offset sh_size sh_name ~$uname -p i686 ~$./simple.elf Hello World! static nix ystem aboratories , wVU UVU w U N p_offset p_filesz 0xA0

description

 

Transcript of ELF101 a Linux executable walkthrough

Page 1: ELF101 a Linux executable walkthrough

/px//x//x//x//x//x//x//x//x//x//x/gx//x//x//x/gxxffffffffffffffff

T/x//x//x//xT/x//x//x//x/ix//x//x//x//x//x//x//xxffffffffffffffff

m\xvixvRxvzx/px/px/px//x//x//x//x//x//x//x//x//xx u'\ffffffffffff/_x//x/yx//x/px//x//x//xz/x//x//x/gxv/x//x//x//xxffffffff`fffSfffR/x//x//x//x//x//x//x//xyvx//x_/x//x/px//x_gx//xxÀfffffffvfffffºf/vx//x/yx//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff

/px//x//x//x//x//x//x//x//x//x//x/gx//x//x//x/gxxffffffffffffffffT/x//x//x//xT/x//x//x//x/ix//x//x//x//x//x//x//xxffffffffffffffff

//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x/Vx//x//x//x/px//x//x//xxffffffffffffffff/zx//x//x//xz/x//x//x/gxz/x//x//x//x__x//x//x//xxffff`fff`fffdfff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffffppx//x//x//x/px//x//x//x/_x//x//x//xc/x//x//x/gxxffffffffffffffffc/x//x//x//x/Nx//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x/px//x//x//x/yx//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//xT/x//x//x//xpcx//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff

//x_uxmyxzgxmyxmvxm_xmvxzpxz_x//x_uxmvxzixmgxmvxxffshstrtabfftext

//x_uxm_xz\xzvxzpxmvxzpx//x//x//x//x//x//x//x//xxffrodataffffffff

vgxzixzRxzRxz\x_/ximxz\xm_xzRxzvx_px/Tx//x//x//xxXellofWorldoffff

m\xvixvRxvzx/px/px/px//x//x//x//x//x//x//x//x//xx u'\ffffffffffff/_x//x/yx//x/px//x//x//xz/x//x//x/gxv/x//x//x//xxffffffff`fffSfffR/x//x//x//x//x//x//x//xyvx//x_/x//x/px//x_gx//xxÀfffffffvfffffºf/vx//x/yx//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff

//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x/Vx//x//x//x/px//x//x//xxffffffffffffffff/zx//x//x//xz/x//x//x/gxz/x//x//x//x__x//x//x//xxffff`fff`fffdfff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffffppx//x//x//x/px//x//x//x/_x//x//x//xc/x//x//x/gxxffffffffffffxfffc/x//x//x//x/Nx//x//x//x//x//x//x//x//x//x//x//xxxfffffffffffffff//x//x//x//x//x//x//x//x/px//x//x//x/yx//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//xT/x//x//x//xpcx//x//x//xxffffffffxfffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff

Vcxc/x//x//x/gxVTx/Nx//x//x//xVVx/px//x//x//xVgxx¹fxfffºffff»ffff¸/vx//x//x//xRNxg/xVVx/px//x//x//xVgx/px//x//x//xxffffÍ€»ffff¸ffffRNxg/x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxÍ€ffffffffffffff

vgxzixzRxzRxz\x_/ximxz\xm_xzRxzvx_px/Tx//x//x//xxXellofWorldoffff

//x_uxmyxzgxmyxmvxm_xmvxzpxz_x//x_uxmvxzixmgxmvxxffshstrtabfftext//x_uxm_xz\xzvxzpxmvxzpx//x//x//x//x//x//x//x//xxffrodataffffffff

m\xvixvRxvzx/px/px/px//x//x//x//x//x//x//x//x//xx u'\ffffffffffff/_x//x/yx//x/px//x//x//xz/x//x//x/gxv/x//x//x//xxffffffff`fffSfffR/x//x//x//x//x//x//x//xyvx//x_/x//x/px//x_gx//xxÀfffffffvfffffºf/vx//x/yx//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff

/px//x//x//x//x//x//x//x//x//x//x/gx//x//x//x/gxxffffffffffffffffi/x//x//x//xi/x//x//x//x/ix//x//x//x//x//x//x//xxffffffffffffffff

Vcxc/x//x//x/gxVTx/Nx//x//x//xVVx/px//x//x//xVgxx¹fxfffºffff»ffff¸/vx//x//x//xRNxg/xVVx/px//x//x//xVgx/px//x//x//xxffffÍ€»ffff¸ffffRNxg/x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxÍ€ffffffffffffff

vgxzixzRxzRxz\x_/ximxz\xm_xzRxzvx_px/Tx//x//x//xxXellofWorldoffff

//x_uxmyxzgxmyxmvxm_xmvxzpxz_x//x_uxmvxzixmgxmvxxffshstrtabfftext//x_uxm_xz\xzvxzpxmvxzpx//x//x//x//x//x//x//x//xxffrodataffffffff

//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x/Vx//x//x//x/px//x//x//xxffffffffffffffff/zx//x//x//xz/x//x//x/gxz/x//x//x//x__x//x//x//xxffff`fff`fffdfff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffffppx//x//x//x/px//x//x//x/_x//x//x//xc/x//x//x/gxxffffffffffffxfffc/x//x//x//x/Nx//x//x//x//x//x//x//x//x//x//x//xxxfffffffffffffff//x//x//x//x//x//x//x//x/px//x//x//x/yx//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//xT/x//x//x//xpcx//x//x//xxffffffffxfffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff

Vcxc/x//x//x/gxVTx/Nx//x//x//xVVx/px//x//x//xVgxx¹fxfffºffff»ffff¸

/vx//x//x//xRNxg/xVVx/px//x//x//xVgx/px//x//x//xxffffÍ€»ffff¸ffff

RNxg/x//x//x//x//x//x//x//x//x//x//x//x//x//x//xx̀ffffffffffffff

Sections1ynames

&odeexecutableyinformation

ProgramyHeaderytableRxecutionyinformation

technicalydetailsyforyidentificationyandyexecution

Header

Linkingy0connectingyprogramyobjects.yinformationSectionyHeaderytable

sectionscontentsyofytheyexecutable

informationyusedybyytheycodezata

RLYyheaderidentifyyasyanyRLYytype

specifyytheyarchitecture

x-9yassembly Rquivalenty&ycode

RLYinkableormat

wTw

wtheyRLYyheaderyisyparsedtheyProgramyHeaderyisyparsed0Sectionsyareynotyused.

versionywITUTwNVwwVUT

7ngey7lbertinicorkamiIcom

Hexadecimalydump 7S&IIydumpYields Values Rxplanation

Offset,/xR/

SectionyHeaderytable

Offset,/xc/:Tddress,/xg////c/

Offset,/xz/:Tddress,/xg////z/

a Linux executable walkthrough

Offset,/xv/:Tddress,/xg////v/

header

TheyRLYywasyfirstyspecifiedybyyUISIyLIforyUNIXySystemyV/yinyw**T

TheyRLYyisyused/yamongyothers/yinByyAyLinux/y7ndroid/y25Sz/ySolaris/y5eOSyAyPSP/yPlaystationyUAX/yzreamcast/yZame&ube/yWiiAyvariousyOSesymadeybyySamsung/yRricsson/yNokia/AyMicrocontrollersyfromy7tmel/yTexasyInstruments

simpleIelfdownloady@yelfwTwIcorkamiIcom

SH7AwBy9:U,*9-:b-:b:X*bwNfd,*bTNXXa,-*TebcadcNb

Thisyisytheywholeyfile/yhowever/ymostyRLYyfilesycontainymanyymoreyelementsIRxplanationsyareysimplified/yforyconcisenessI

xecutable

technicalydetailsyforylinking0ignoredyforyexecution.

header

yyyyyyyyyyyyyyyyv

p_typep_offsetp_vaddrp_paddrp_fileszp_memszp_flags

movxecx€x/xg///c/movxedx€x/xNmovxebx€xpmovxeax€xvintx/xg/

movxebx€xpmovxeax€xpintx/xg/ exitb1A;

m\xvixvRxvzx/px/px/px//x//x//x//x//x//x//x//x//xxfu'\ffffffffffff

/_x//x/yx//x/px//x//x//xz/x//x//x/gxv/x//x//x//xxffffffff`fffSfff

R/x//x//x//x//x//x//x//xyvx//x_/x//x/px//x_gx//xxÍfffffffvfffffºf

/vx//x/yx//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxffff

/px//x//x//x//x//x//x//x//x//x//x/gx//x//x//x/gxxxffffffffffffffff

T/x//x//x//xT/x//x//x//x/ix//x//x//ffffxxxxxxxxxxxxxxffffffff

e_identxxxuP_MTUxxuP_R'TSS€xuP_NTTTxxuP_VuRSPONe_typee_machinee_versione_entrye_phoffe_shoffe_ehsizee_phentsizee_phnume_shentsizee_shnume_shstrndx

dXelloxWorldo\rd€x/

Vcxc/x//x//x/gxVTx/Nx//x//x//xVVx/px//x//x//xVgxxffffffffffffffff

/vx//x//x//xRNxg/xVVx/px//x//x//xVgx/px//x//x//xxffffffffffffffff

RNxg/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxff

vgxzixzRxzRxz\x_/ximxz\xm_xzRxzvx_px/Tx//xxxxxxxxXellofWorldoff

constantysignatureNUybits/yLittleARndian7lwaysywRxecutableIntelyN-9y0andylater.7lwaysyw7ddressywhereyexecutionystartsProgramyHeaders1yoffsetSectionyHeaders1yoffsetRlfyheader1sysizeSizeyofyaysingleyProgramyHeader&ountyofyProgramyHeadersSizeyofyaysingleySectionyHeader&ountyofySectionyHeadersIndexyofytheynames1ysectionyinytheytable

TheysegmentyshouldybeyloadedyinymemoryOffsetywhereyityshouldybeyreadVirtualyaddressywhereyityshouldybeyloadedPhysicalyaddressywhereyityshouldybeyloadedSizeyonyfileSizeyinymemoryReadableyandyeXecutable

p_vaddr

Virt

ual A

ddre

ss

0x00

Offs

et

0x8000000

LOAD Segment

writeb2Hello6World8\r2,6STDOUT,6lenb2Hello6World8\r2AA;

Strings

0x80000A0

zissectedyfile

Loadingyprocess

Trivia

/xm\€xdu'\dpxxxx€pp_yp/xg////z//xv//xR//xyv/x_/p/x_gvy

p//xg///////xg///////xT//xT/i

u'\NTTT_'SVu'\R'TSSy_

//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x/Vx//x//x//x/px//x//x//xxffffffffffffffff/zx//x//x//xz/x//x//x/gxz/x//x//x//x__x//x//x//xxffff`fff`fffdfff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffffppx//x//x//x/px//x//x//x/_x//x//x//xc/x//x//x/gxxffffffffffffffffc/x//x//x//x/Nx//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x/px//x//x//x/yx//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//xT/x//x//x//xpcx//x//x//xxffffffffffffffff//x//x//x//x//x//x//x//x//x//x//x//x//x//x//x//xxffffffffffffffff

ddxxfshrtrtabxxftextxxxxfrodata//x_uxmyxzgxmyxmvxm_xmvxzpxz_x//x_uxmvxzixmgxmvxxffshstrtabfftext//x_uxm_xz\xzvxzpxmvxzpx//xxxxxxxxxxxxxxxxxxxxxxxffrodataf

SectionynamesOffset,/xT/

p _ y v

mzi

g

///,

/v/,

/z/,

/c/,

/a/,

/T/,returnxcode

msg

MSU_'uN

STNOUT

SR_WRPTu

SR_uXPT

systemxcall

systemxcall

uV_RURRuNT

uT_uXuR

uM_ygz

uV_RURRuNT

PT_'OTN

P\_R|P\_X

p_memsz

Utheyfileyisymappedyinymemoryaccordingytoyitsysegment0s.

Mapping NRntryyisycalledSyscallsyyyareyaccessedyviaByAySyscallynumberyinytheyR7XyregisteryAycallingyInterruptyTx-T

Rxecution

N

kernelservices

IndexyyyyNameyyyyyyyyyyyyyyyTYPRyyyyyyyyyyyyyyyyyyyyyyYL7ZSyyyyyyyyyyyyyyyyyy7zzRRSSyyyyyyyyyyyyOYYSRTyyyyyyyySIZR6066<null>6666606

6166.text666666166666666666666666666660x8000060660x606660x22

6266.rodata6666166666666666266666666660x8000090660x906660x0D

6366.shrtrtab6636666666666666666666666666666666660xA06660x19

SXT_PROUVPTSxºprogram»

SXT_NU''xºinactive»

SXT_PROUVPTSxºprogram»

SXT_STRTTVxºstringxtable»

SX\_T''ORxºallocated»SX\_uXuRPNSTRxºexecutable»

SX\_T''ORxºallocated»

relativexoffsetsinxnames¹xsection

sh_type sh_flags sh_addr sh_offset sh_sizesh_name

~$uname -pi686~$./simple.elf Hello World!

static

nix ystem aboratories

,

wVU

UVU

w

U

N

p_offset

p_filesz

0xA0