herm1t LIVE!ng room - Post a comment [entries|archive|friends|userinfo]
herm1t

[ website | twilight corner in the herm1t's cave ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Mar. 9th, 2015|05:27 pm

herm1t
Если коротко, то либа инжектится целиком __libc_dlopen_mode(..., RTLD_LAZY), именно LAZY, а не NOW, в конструкторе либа из своего _DYNAMIC берет GOT, из GOT[1] - link_map, из link_map - _DYNAMIC процесса, из него .dynsym, .dynstr, .rela.plt, в RELA находится нужная функа (ELF64_R_SYM(rel[i].r_info) - это индекс в .dynsym), а r_offset указывает на ее GOT-entry, который нужно сохранить и затереть указателем на свою функу. Как-то так.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message:



Notice! This user has turned on the option that logs IP addresses of anonymous posters.